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 a20525043037c1f5a664825138ab88f6a7d494b8
Author: juanpablo <[email protected]>
AuthorDate: Wed Mar 4 21:41:41 2020 +0100

    JSPWIKI-303: begin to use public API (Engine, Session) on JSPs
---
 jspwiki-war/src/main/webapp/Captcha.jsp            |  7 ++--
 jspwiki-war/src/main/webapp/Comment.jsp            |  3 +-
 jspwiki-war/src/main/webapp/CookieError.jsp        |  6 ++-
 jspwiki-war/src/main/webapp/Delete.jsp             | 30 ++++++-------
 jspwiki-war/src/main/webapp/DeleteGroup.jsp        | 10 +++--
 jspwiki-war/src/main/webapp/Diff.jsp               | 22 ++++------
 jspwiki-war/src/main/webapp/Edit.jsp               | 30 +++++++------
 jspwiki-war/src/main/webapp/EditGroup.jsp          | 15 +++----
 jspwiki-war/src/main/webapp/Error.jsp              |  3 +-
 jspwiki-war/src/main/webapp/Group.jsp              | 26 +++++-------
 jspwiki-war/src/main/webapp/Install.jsp            |  8 ++--
 jspwiki-war/src/main/webapp/Login.jsp              | 14 ++++---
 jspwiki-war/src/main/webapp/LoginForm.jsp          |  6 ++-
 jspwiki-war/src/main/webapp/Logout.jsp             |  8 ++--
 jspwiki-war/src/main/webapp/LostPassword.jsp       | 16 ++++---
 jspwiki-war/src/main/webapp/Message.jsp            |  6 ++-
 jspwiki-war/src/main/webapp/NewBlogEntry.jsp       |  3 +-
 jspwiki-war/src/main/webapp/NewGroup.jsp           | 21 +++++-----
 jspwiki-war/src/main/webapp/PageInfo.jsp           | 11 ++---
 jspwiki-war/src/main/webapp/PageModified.jsp       | 22 +++++-----
 jspwiki-war/src/main/webapp/Preview.jsp            | 21 ++++------
 jspwiki-war/src/main/webapp/Rename.jsp             | 32 +++++++-------
 jspwiki-war/src/main/webapp/Search.jsp             | 31 ++++++--------
 jspwiki-war/src/main/webapp/SisterSites.jsp        | 17 ++++----
 jspwiki-war/src/main/webapp/Upload.jsp             |  9 ++--
 jspwiki-war/src/main/webapp/UserPreferences.jsp    | 21 ++++++----
 jspwiki-war/src/main/webapp/Wiki.jsp               | 13 +++---
 jspwiki-war/src/main/webapp/Workflow.jsp           | 22 +++++-----
 jspwiki-war/src/main/webapp/XHRHtml2Markup.jsp     |  6 ++-
 .../src/main/webapp/admin/SecurityConfig.jsp       | 16 ++++---
 jspwiki-war/src/main/webapp/rss.jsp                | 49 +++++++++++-----------
 .../main/webapp/templates/210/EditGroupContent.jsp |  4 +-
 .../src/main/webapp/templates/210/GroupContent.jsp |  2 +-
 .../src/main/webapp/templates/210/GroupTab.jsp     |  4 +-
 .../main/webapp/templates/210/NewGroupContent.jsp  |  2 +-
 .../webapp/templates/default/EditGroupContent.jsp  |  6 +--
 .../src/main/webapp/templates/default/GroupTab.jsp |  5 +--
 37 files changed, 274 insertions(+), 253 deletions(-)

diff --git a/jspwiki-war/src/main/webapp/Captcha.jsp 
b/jspwiki-war/src/main/webapp/Captcha.jsp
index cc61882..152f86d 100644
--- a/jspwiki-war/src/main/webapp/Captcha.jsp
+++ b/jspwiki-war/src/main/webapp/Captcha.jsp
@@ -21,6 +21,8 @@
 <%@ page import="org.apache.commons.httpclient.*" %>
 <%@ page import="org.apache.commons.httpclient.methods.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.util.*" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
@@ -35,12 +37,11 @@
     Logger log = Logger.getLogger("JSPWiki");
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.VIEW 
);
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     String pagereq = wikiContext.getName();
-
     String reqPage = TextUtil.replaceEntities( request.getParameter( "page" ) 
);
     String content = TextUtil.replaceEntities( request.getParameter( "text" ) 
);
 
diff --git a/jspwiki-war/src/main/webapp/Comment.jsp 
b/jspwiki-war/src/main/webapp/Comment.jsp
index 071eea6..7cfc58b 100644
--- a/jspwiki-war/src/main/webapp/Comment.jsp
+++ b/jspwiki-war/src/main/webapp/Comment.jsp
@@ -22,6 +22,7 @@
 <%@ page import="java.text.SimpleDateFormat" %>
 <%@ page import="org.apache.wiki.util.HttpUtil" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.api.exceptions.RedirectException" %>
 <%@ page import="org.apache.wiki.filters.SpamFilter" %>
 <%@ page import="org.apache.wiki.htmltowiki.HtmlStringToWikiTranslator" %>
@@ -68,7 +69,7 @@
     String pagereq = wikiContext.getName();
 
     ResourceBundle rb = Preferences.getBundle( wikiContext, "CoreResources" );
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     String storedUser = wikiSession.getUserPrincipal().getName();
 
     if( wikiSession.isAnonymous() ) {
diff --git a/jspwiki-war/src/main/webapp/CookieError.jsp 
b/jspwiki-war/src/main/webapp/CookieError.jsp
index b7cf4d7..20e188f 100755
--- a/jspwiki-war/src/main/webapp/CookieError.jsp
+++ b/jspwiki-war/src/main/webapp/CookieError.jsp
@@ -18,14 +18,16 @@
 --%>
 
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ taglib prefix="wiki" uri="http://jspwiki.apache.org/tags"; %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context; authorization check not needed
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.VIEW 
);
  
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "CookieErrorTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "CookieErrorTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
diff --git a/jspwiki-war/src/main/webapp/Delete.jsp 
b/jspwiki-war/src/main/webapp/Delete.jsp
index f2bfbda..ebb1e04 100644
--- a/jspwiki-war/src/main/webapp/Delete.jsp
+++ b/jspwiki-war/src/main/webapp/Delete.jsp
@@ -17,15 +17,19 @@
     under the License.
 --%>
 
+<%@ page import="java.util.*" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.util.HttpUtil" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.attachment.Attachment" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
+<%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.tags.BreadcrumbsTag" %>
 <%@ page import="org.apache.wiki.tags.BreadcrumbsTag.FixedQueue" %>
-<%@ page import="java.util.*" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
-<%@ page import="org.apache.wiki.attachment.Attachment" %>
-<%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 
@@ -34,10 +38,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.DELETE );
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
@@ -45,7 +49,7 @@
     String pagereq = wikiContext.getName();
 
     WikiPage wikipage      = wikiContext.getPage();
-    WikiPage latestversion = wiki.getPageManager().getPage( pagereq );
+    WikiPage latestversion = wiki.getManager( PageManager.class ).getPage( 
pagereq );
 
     String delete = request.getParameter( "delete" );
     String deleteall = request.getParameter( "delete-all" );
@@ -65,7 +69,7 @@
     {
         log.info("Deleting page "+pagereq+". User="+request.getRemoteUser()+", 
host="+HttpUtil.getRemoteAddress(request) );
 
-        wiki.getPageManager().deletePage( pagereq );
+        wiki.getManager( PageManager.class ).deletePage( pagereq );
 
         FixedQueue trail = (FixedQueue) session.getAttribute( 
BreadcrumbsTag.BREADCRUMBTRAIL_KEY );
         if( trail != null )
@@ -89,17 +93,15 @@
             {
                 int version = Integer.parseInt( paramName.substring(7) );
 
-                WikiPage p = wiki.getPageManager().getPage( pagereq, version );
+                WikiPage p = wiki.getManager( PageManager.class ).getPage( 
pagereq, version );
 
                 log.debug("Deleting version "+version);
-                wiki.getPageManager().deleteVersion( p );
+                wiki.getManager( PageManager.class ).deleteVersion( p );
             }
         }
 
         response.sendRedirect(
-            TextUtil.replaceString(
-                wiki.getURL( WikiContext.VIEW, redirTo, "tab=" + 
request.getParameter( "tab" ) ),"&amp;","&"
-            )
+            TextUtil.replaceString( wiki.getURL( WikiContext.VIEW, redirTo, 
"tab=" + request.getParameter( "tab" ) ),"&amp;","&" )
         );
 
 
@@ -109,6 +111,6 @@
     // Set the content type and include the response content
     // FIXME: not so.
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "EditTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "EditTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/DeleteGroup.jsp 
b/jspwiki-war/src/main/webapp/DeleteGroup.jsp
index 9f38ae6..5f1c158 100644
--- a/jspwiki-war/src/main/webapp/DeleteGroup.jsp
+++ b/jspwiki-war/src/main/webapp/DeleteGroup.jsp
@@ -19,6 +19,8 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.auth.NoSuchPrincipalException" %>
 <%@ page import="org.apache.wiki.auth.WikiSecurityException" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
@@ -31,13 +33,13 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.DELETE_GROUP );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
 
-    WikiSession wikiSession = wikiContext.getWikiSession();
-    GroupManager groupMgr = wiki.getGroupManager();
+    Session wikiSession = wikiContext.getWikiSession();
+    GroupManager groupMgr = wiki.getManager( GroupManager.class );
     String name = request.getParameter( "group" );
 
     if ( name == null )
diff --git a/jspwiki-war/src/main/webapp/Diff.jsp 
b/jspwiki-war/src/main/webapp/Diff.jsp
index c9b8adf..38c653b 100644
--- a/jspwiki-war/src/main/webapp/Diff.jsp
+++ b/jspwiki-war/src/main/webapp/Diff.jsp
@@ -19,10 +19,12 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.util.HttpUtil" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
-<%@ page import="org.apache.wiki.util.*" %>
 <%@ page import="org.apache.wiki.tags.InsertDiffTag" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
+<%@ page import="org.apache.wiki.util.*" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 
@@ -31,10 +33,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.DIFF 
);
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
@@ -81,19 +83,13 @@
         }
     }
 
-    pageContext.setAttribute( InsertDiffTag.ATTR_OLDVERSION,
-                              new Integer(ver1),
-                              PageContext.REQUEST_SCOPE );
-    pageContext.setAttribute( InsertDiffTag.ATTR_NEWVERSION,
-                              new Integer(ver2),
-                              PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( InsertDiffTag.ATTR_OLDVERSION, new 
Integer(ver1), PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( InsertDiffTag.ATTR_NEWVERSION, new 
Integer(ver2), PageContext.REQUEST_SCOPE );
 
     // log.debug("Request for page diff for '"+pagereq+"' from 
"+HttpUtil.getRemoteAddress(request)+" by "+request.getRemoteUser()+".  
R1="+ver1+", R2="+ver2 );
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 <% } finally { w.exitState(); } %>
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/Edit.jsp 
b/jspwiki-war/src/main/webapp/Edit.jsp
index fbcd6ea..a885d22 100644
--- a/jspwiki-war/src/main/webapp/Edit.jsp
+++ b/jspwiki-war/src/main/webapp/Edit.jsp
@@ -20,13 +20,17 @@
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="java.util.*" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.util.HttpUtil" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.api.exceptions.RedirectException" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
 <%@ page import="org.apache.wiki.filters.SpamFilter" %>
 <%@ page import="org.apache.wiki.htmltowiki.HtmlStringToWikiTranslator" %>
 <%@ page import="org.apache.wiki.pages.PageLock" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page import="org.apache.wiki.workflow.DecisionRequiredException" %>
 <%@ page errorPage="/Error.jsp" %>
@@ -47,10 +51,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.EDIT 
);
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) {
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) {
         return;
     }
     if( wikiContext.getCommand().getTarget() == null ) {
@@ -59,7 +63,7 @@
     }
     String pagereq = wikiContext.getName();
 
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     String user = wikiSession.getUserPrincipal().getName();
     String action  = request.getParameter("action");
     String ok      = request.getParameter("ok");
@@ -87,7 +91,7 @@
     }
 
     WikiPage wikipage = wikiContext.getPage();
-    WikiPage latestversion = wiki.getPageManager().getPage( pagereq );
+    WikiPage latestversion = wiki.getManager( PageManager.class ).getPage( 
pagereq );
 
     if( latestversion == null ) {
         latestversion = wikiContext.getPage();
@@ -140,8 +144,8 @@
         //
         //  We expire ALL locks at this moment, simply because someone has 
already broken it.
         //
-        PageLock lock = wiki.getPageManager().getCurrentLock( wikipage );
-        wiki.getPageManager().unlockPage( lock );
+        PageLock lock = wiki.getManager( PageManager.class ).getCurrentLock( 
wikipage );
+        wiki.getManager( PageManager.class ).unlockPage( lock );
         session.removeAttribute( "lock-"+pagereq );
 
         //
@@ -181,11 +185,11 @@
             }
 
             if( append != null ) {
-                StringBuffer pageText = new 
StringBuffer(wiki.getPageManager().getText( pagereq ));
+                StringBuffer pageText = new StringBuffer(wiki.getManager( 
PageManager.class ).getText( pagereq ));
                 pageText.append( text );
-                wiki.getPageManager().saveText( wikiContext, 
pageText.toString() );
+                wiki.getManager( PageManager.class ).saveText( wikiContext, 
pageText.toString() );
             } else {
-                wiki.getPageManager().saveText( wikiContext, text );
+                wiki.getManager( PageManager.class ).saveText( wikiContext, 
text );
             }
         } catch( DecisionRequiredException ex ) {
                String redirect = 
wikiContext.getURL(WikiContext.VIEW,"ApprovalRequiredForPageChanges");
@@ -225,7 +229,7 @@
         log.debug("Cancelled editing "+pagereq);
         PageLock lock = (PageLock) session.getAttribute( "lock-"+pagereq );
         if( lock != null ) {
-            wiki.getPageManager().unlockPage( lock );
+            wiki.getManager( PageManager.class ).unlockPage( lock );
             session.removeAttribute( "lock-"+pagereq );
         }
         response.sendRedirect( wikiContext.getViewURL(pagereq) );
@@ -249,11 +253,11 @@
     //
     //  Attempt to lock the page.
     //
-    PageLock lock = wiki.getPageManager().lockPage( wikipage, user );
+    PageLock lock = wiki.getManager( PageManager.class ).lockPage( wikipage, 
user );
     if( lock != null ) {
         session.setAttribute( "lock-"+pagereq, lock );
     }
 
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "EditTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "EditTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/EditGroup.jsp 
b/jspwiki-war/src/main/webapp/EditGroup.jsp
index 8f573fb..6690982 100644
--- a/jspwiki-war/src/main/webapp/EditGroup.jsp
+++ b/jspwiki-war/src/main/webapp/EditGroup.jsp
@@ -19,10 +19,13 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.auth.WikiSecurityException" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%! 
@@ -30,14 +33,14 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.EDIT_GROUP );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     
     // Extract the current user, group name, members and action attributes
-    WikiSession wikiSession = wikiContext.getWikiSession();
-    GroupManager groupMgr = wiki.getGroupManager();
+    Session wikiSession = wikiContext.getWikiSession();
+    GroupManager groupMgr = wiki.getManager( GroupManager.class );
     Group group = null;
     try 
     {
@@ -78,9 +81,7 @@
         
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "EditTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "EditTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/Error.jsp 
b/jspwiki-war/src/main/webapp/Error.jsp
index 86f3e76..90346fc 100644
--- a/jspwiki-war/src/main/webapp/Error.jsp
+++ b/jspwiki-war/src/main/webapp/Error.jsp
@@ -20,13 +20,14 @@
 <%@ page isErrorPage="true" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.Engine" %>
 <%@ page import="org.apache.wiki.util.FileUtil" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
     Logger log = Logger.getLogger("JSPWiki");
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.ERROR );
     String pagereq = wikiContext.getName();
 
diff --git a/jspwiki-war/src/main/webapp/Group.jsp 
b/jspwiki-war/src/main/webapp/Group.jsp
index 5fa3a32..307e13a 100644
--- a/jspwiki-war/src/main/webapp/Group.jsp
+++ b/jspwiki-war/src/main/webapp/Group.jsp
@@ -19,11 +19,14 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.auth.NoSuchPrincipalException" %>
 <%@ page import="org.apache.wiki.auth.WikiSecurityException" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
@@ -31,34 +34,27 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.VIEW_GROUP );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     
     // Extract the current user, group name, members
-    WikiSession wikiSession = wikiContext.getWikiSession();
-    GroupManager groupMgr = wiki.getGroupManager();
+    Session wikiSession = wikiContext.getWikiSession();
+    GroupManager groupMgr = wiki.getManager( GroupManager.class );
     Group group = null;
-    try 
-    {
+    try {
         group = groupMgr.parseGroup( wikiContext, false );
         pageContext.setAttribute ( "Group", group, PageContext.REQUEST_SCOPE );
-    }
-    catch ( NoSuchPrincipalException e )
-    {
+    } catch ( NoSuchPrincipalException e ) {
         // New group; let GroupContent print out the message...
-    }
-    catch ( WikiSecurityException e )
-    {
+    } catch ( WikiSecurityException e ) {
         wikiSession.addMessage( GroupManager.MESSAGES_KEY, e.getMessage() );
     }
     
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/Install.jsp 
b/jspwiki-war/src/main/webapp/Install.jsp
index 1f87580..1ac30dc 100644
--- a/jspwiki-war/src/main/webapp/Install.jsp
+++ b/jspwiki-war/src/main/webapp/Install.jsp
@@ -20,7 +20,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.auth.AuthenticationManager" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.ui.Installer" %>
 <%@ page import="org.apache.log4j.*" %>
@@ -34,13 +36,13 @@
 %>
 
 <%
-WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+Engine wiki = WikiEngine.getInstance( getServletConfig() );
 // Create wiki context and check for authorization
 WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.INSTALL 
);
-if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) return;
+if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
 
 Installer installer = new Installer( request, config );
-WikiSession wikiSession = wikiContext.getWikiSession();
+Session wikiSession = wikiContext.getWikiSession();
 
 // Parse the existing properties
 installer.parseProperties();
diff --git a/jspwiki-war/src/main/webapp/Login.jsp 
b/jspwiki-war/src/main/webapp/Login.jsp
index 38313fb..0bf8605 100644
--- a/jspwiki-war/src/main/webapp/Login.jsp
+++ b/jspwiki-war/src/main/webapp/Login.jsp
@@ -21,12 +21,14 @@
 <%@ page import="java.util.*" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.auth.*" %>
 <%@ page import="org.apache.wiki.auth.login.CookieAssertionLoginModule" %>
 <%@ page import="org.apache.wiki.auth.login.CookieAuthenticationLoginModule" %>
 <%@ page import="org.apache.wiki.auth.user.DuplicateUserException" %>
 <%@ page import="org.apache.wiki.auth.user.UserProfile" %>
 <%@ page import="org.apache.wiki.i18n.InternationalizationManager" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.workflow.DecisionRequiredException" %>
 <%@ page errorPage="/Error.jsp" %>
@@ -35,11 +37,11 @@
     Logger log = Logger.getLogger("JSPWiki");
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
-    AuthenticationManager mgr = wiki.getAuthenticationManager();
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
+    AuthenticationManager mgr = wiki.getManager( AuthenticationManager.class );
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.LOGIN );
     pageContext.setAttribute( WikiContext.ATTR_CONTEXT, wikiContext, 
PageContext.REQUEST_SCOPE );
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     ResourceBundle rb = Preferences.getBundle( wikiContext, "CoreResources" );
 
     // Set the redirect-page variable if one was passed as a parameter
@@ -51,7 +53,7 @@
 
     // Are we saving the profile?
     if( "saveProfile".equals(request.getParameter("action")) ) {
-        UserManager userMgr = wiki.getUserManager();
+        UserManager userMgr = wiki.getManager( UserManager.class );
         UserProfile profile = userMgr.parseProfile( wikiContext );
          
         // Validate the profile
@@ -64,7 +66,7 @@
                 CookieAssertionLoginModule.setUserCookie( response, 
profile.getFullname() );
             } catch( DuplicateUserException due ) {
                 // User collision! (full name or wiki name already taken)
-                wikiSession.addMessage( "profile", 
wiki.getInternationalizationManager()
+                wikiSession.addMessage( "profile", wiki.getManager( 
InternationalizationManager.class )
                                                               .get( 
InternationalizationManager.CORE_BUNDLE,
                                                                         
Preferences.getLocale( wikiContext ), 
                                                                         
due.getMessage(), due.getArgs() ) );
@@ -150,7 +152,7 @@
 
         // If wiki page was "Login", redirect to main, otherwise use the page 
supplied
         String redirectPage = request.getParameter( "redirect" );
-        if( !wiki.getPageManager().wikiPageExists( redirectPage ) ) {
+        if( !wiki.getManager( PageManager.class ).wikiPageExists( redirectPage 
) ) {
            redirectPage = wiki.getFrontPage();
         }
         String viewUrl = ( "Login".equals( redirectPage ) ) ? "Wiki.jsp" : 
wikiContext.getViewURL( redirectPage );
diff --git a/jspwiki-war/src/main/webapp/LoginForm.jsp 
b/jspwiki-war/src/main/webapp/LoginForm.jsp
index d918357..0c58899 100644
--- a/jspwiki-war/src/main/webapp/LoginForm.jsp
+++ b/jspwiki-war/src/main/webapp/LoginForm.jsp
@@ -19,6 +19,8 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
@@ -34,7 +36,7 @@
 
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Retrieve the Login page context, then go and find the login form
 
     WikiContext wikiContext = (WikiContext) pageContext.getAttribute( 
WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
@@ -46,7 +48,7 @@
     }
     
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "ViewTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
                                                             
     log.debug("Login template content is: " + contentPage);
     
diff --git a/jspwiki-war/src/main/webapp/Logout.jsp 
b/jspwiki-war/src/main/webapp/Logout.jsp
index ac1142c..6a4a247 100644
--- a/jspwiki-war/src/main/webapp/Logout.jsp
+++ b/jspwiki-war/src/main/webapp/Logout.jsp
@@ -17,12 +17,14 @@
     under the License.  
 --%>
 
-<%@page import="org.apache.wiki.auth.login.CookieAuthenticationLoginModule"%>
 <%@page import="org.apache.wiki.WikiEngine" %>
+<%@page import="org.apache.wiki.api.core.Engine" %>
+<%@page import="org.apache.wiki.auth.AuthenticationManager" %>
 <%@page import="org.apache.wiki.auth.login.CookieAssertionLoginModule" %>
+<%@page import="org.apache.wiki.auth.login.CookieAuthenticationLoginModule"%>
 <%
-  WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
-  wiki.getAuthenticationManager().logout( request );
+  Engine wiki = WikiEngine.getInstance( getServletConfig() );
+  wiki.getManager( AuthenticationManager.class ).logout( request );
 
   // Clear the user cookie
   CookieAssertionLoginModule.clearUserCookie( response );
diff --git a/jspwiki-war/src/main/webapp/LostPassword.jsp 
b/jspwiki-war/src/main/webapp/LostPassword.jsp
index b5ce908..0dee9b9 100644
--- a/jspwiki-war/src/main/webapp/LostPassword.jsp
+++ b/jspwiki-war/src/main/webapp/LostPassword.jsp
@@ -23,10 +23,14 @@
 <%@ page import="javax.servlet.jsp.jstl.fmt.*"%>
 <%@ page import="org.apache.log4j.*"%>
 <%@ page import="org.apache.wiki.*"%>
+<%@ page import="org.apache.wiki.api.core.Engine"%>
+<%@ page import="org.apache.wiki.api.core.Session"%>
 <%@ page import="org.apache.wiki.auth.*"%>
 <%@ page import="org.apache.wiki.auth.user.*"%>
 <%@ page import="org.apache.wiki.i18n.*"%>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
+<%@ page import="org.apache.wiki.url.URLConstructor"%>
 <%@ page import="org.apache.wiki.util.*"%>
 <%@ page errorPage="/Error.jsp"%>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
@@ -34,10 +38,10 @@
 
     String message = null;
 
-    public boolean resetPassword( WikiEngine wiki, HttpServletRequest request, 
ResourceBundle rb ) {
+    public boolean resetPassword( Engine wiki, HttpServletRequest request, 
ResourceBundle rb ) {
         // Reset pw for account name
         String name = request.getParameter( "name" );
-        UserDatabase userDatabase = wiki.getUserManager().getUserDatabase();
+        UserDatabase userDatabase = wiki.getManager( UserManager.class 
).getUserDatabase();
         boolean success = false;
 
         try {
@@ -61,7 +65,7 @@
             // Try sending email first, as that is more likely to fail.
 
             Object[] args = { profile.getLoginName(), randomPassword, 
request.getScheme() + "://"+ request.getServerName() + ":" + 
request.getServerPort() +
-                             wiki.getURLConstructor().makeURL( 
WikiContext.NONE, "Login.jsp", "" ), wiki.getApplicationName() };
+                             wiki.getManager( URLConstructor.class ).makeURL( 
WikiContext.NONE, "Login.jsp", "" ), wiki.getApplicationName() };
 
             String mailMessage = MessageFormat.format( rb.getString( 
"lostpwd.newpassword.email" ), args );
 
@@ -96,7 +100,7 @@
     }
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
 
     //Create wiki context like in Login.jsp:
     //don't check for access permissions: if you have lost your password you 
cannot login!
@@ -110,7 +114,7 @@
 
     ResourceBundle rb = Preferences.getBundle( wikiContext, "CoreResources" );
 
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     String action = request.getParameter( "action" );
 
     boolean done = false;
@@ -131,6 +135,6 @@
     response.setDateHeader( "Expires", new Date().getTime() );
     response.setDateHeader( "Last-Modified", new Date().getTime() );
 
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "ViewTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %>
 <wiki:Include page="<%=contentPage%>" />
diff --git a/jspwiki-war/src/main/webapp/Message.jsp 
b/jspwiki-war/src/main/webapp/Message.jsp
index fdff7a0..c2844c0 100755
--- a/jspwiki-war/src/main/webapp/Message.jsp
+++ b/jspwiki-war/src/main/webapp/Message.jsp
@@ -20,12 +20,14 @@
 <%@ page isErrorPage="true" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%! 
     Logger log = Logger.getLogger("JSPWiki"); 
 %>
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.MESSAGE );
 
     // Stash the wiki context and message text
@@ -34,6 +36,6 @@
 
     // Set the content type and include the response content
     response.setContentType( "text/html; charset=" + wiki.getContentEncoding() 
);
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "ViewTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/NewBlogEntry.jsp 
b/jspwiki-war/src/main/webapp/NewBlogEntry.jsp
index f8128fa..034de4b 100644
--- a/jspwiki-war/src/main/webapp/NewBlogEntry.jsp
+++ b/jspwiki-war/src/main/webapp/NewBlogEntry.jsp
@@ -19,6 +19,7 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.plugin.*" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
@@ -27,7 +28,7 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context; no need to check for authorization since the 
     // redirect will take care of that
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.EDIT 
);
diff --git a/jspwiki-war/src/main/webapp/NewGroup.jsp 
b/jspwiki-war/src/main/webapp/NewGroup.jsp
index a7194e2..7e6f0b8 100644
--- a/jspwiki-war/src/main/webapp/NewGroup.jsp
+++ b/jspwiki-war/src/main/webapp/NewGroup.jsp
@@ -17,30 +17,33 @@
     under the License.  
 --%>
 
+<%@ page import="java.text.*" %>
+<%@ page import="java.util.*" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.auth.NoSuchPrincipalException" %>
 <%@ page import="org.apache.wiki.auth.WikiSecurityException" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
-<%@ page import="java.util.*" %>
-<%@ page import="java.text.*" %>
-<%! 
+<%!
     Logger log = Logger.getLogger("JSPWiki"); 
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.CREATE_GROUP );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     
     // Extract the current user, group name, members and action attributes
-    WikiSession wikiSession = wikiContext.getWikiSession();
-    GroupManager groupMgr = wiki.getGroupManager();
+    Session wikiSession = wikiContext.getWikiSession();
+    GroupManager groupMgr = wiki.getManager( GroupManager.class );
     Group group = null;
     try 
     {
@@ -95,9 +98,7 @@
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/PageInfo.jsp 
b/jspwiki-war/src/main/webapp/PageInfo.jsp
index ec7c848..5d11b78 100644
--- a/jspwiki-war/src/main/webapp/PageInfo.jsp
+++ b/jspwiki-war/src/main/webapp/PageInfo.jsp
@@ -19,7 +19,10 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.*" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
@@ -29,10 +32,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.INFO 
);
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
@@ -45,9 +48,7 @@
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
 <% } finally { w.exitState(); } %>
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/PageModified.jsp 
b/jspwiki-war/src/main/webapp/PageModified.jsp
index b5f00a8..b815865 100644
--- a/jspwiki-war/src/main/webapp/PageModified.jsp
+++ b/jspwiki-war/src/main/webapp/PageModified.jsp
@@ -20,8 +20,12 @@
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.commons.text.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
@@ -31,10 +35,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.CONFLICT );
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
@@ -46,22 +50,16 @@
     // Make the user and conflicting text presentable for display.
     usertext = StringEscapeUtils.escapeXml11( usertext );
 
-    String conflicttext = wiki.getPageManager().getText(pagereq);
+    String conflicttext = wiki.getManager( PageManager.class 
).getText(pagereq);
     conflicttext = StringEscapeUtils.escapeXml11( conflicttext );
 
-    pageContext.setAttribute( "conflicttext",
-                              conflicttext,
-                              PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( "conflicttext", conflicttext, 
PageContext.REQUEST_SCOPE );
 
     log.info("Page concurrently modified "+pagereq);
-    pageContext.setAttribute( "usertext",
-                              usertext,
-                              PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( "usertext", usertext, PageContext.REQUEST_SCOPE 
);
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/Preview.jsp 
b/jspwiki-war/src/main/webapp/Preview.jsp
index 31d39d0..d6bfa02 100644
--- a/jspwiki-war/src/main/webapp/Preview.jsp
+++ b/jspwiki-war/src/main/webapp/Preview.jsp
@@ -17,12 +17,15 @@
     under the License.
 --%>
 
+<%@ page import="java.util.Date" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.filters.*" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
-<%@ page import="java.util.Date" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
@@ -30,30 +33,24 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.PREVIEW );
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
     }
     String pagereq = wikiContext.getName();
 
-    pageContext.setAttribute( EditorManager.ATTR_EDITEDTEXT,
-                              session.getAttribute( 
EditorManager.REQ_EDITEDTEXT ),
-                              PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( EditorManager.ATTR_EDITEDTEXT, 
session.getAttribute( EditorManager.REQ_EDITEDTEXT ), PageContext.REQUEST_SCOPE 
);
 
     String lastchange = SpamFilter.getSpamHash( wikiContext.getPage(), request 
);
 
-    pageContext.setAttribute( "lastchange",
-                              lastchange,
-                              PageContext.REQUEST_SCOPE );
+    pageContext.setAttribute( "lastchange", lastchange, 
PageContext.REQUEST_SCOPE );
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/Rename.jsp 
b/jspwiki-war/src/main/webapp/Rename.jsp
index 7d5b767..db23a86 100644
--- a/jspwiki-war/src/main/webapp/Rename.jsp
+++ b/jspwiki-war/src/main/webapp/Rename.jsp
@@ -17,29 +17,33 @@
     under the License.
 --%>
 
+<%@ page import="java.text.*" %>
+<%@ page import="java.util.*" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.util.HttpUtil" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.api.exceptions.WikiException" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
+<%@ page import="org.apache.wiki.content.PageRenamer" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.tags.BreadcrumbsTag" %>
 <%@ page import="org.apache.wiki.tags.BreadcrumbsTag.FixedQueue" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" %>
-<%@ page import="java.util.*" %>
-<%@ page import="java.text.*" %>
 <fmt:setBundle basename="CoreResources"/>
 <%!
     Logger log = Logger.getLogger("JSPWiki");
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
        WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.RENAME );
-       if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) 
) return;
+       if( !wiki.getManager( AuthorizationManager.class ).hasAccess( 
wikiContext, response ) ) return;
     if( wikiContext.getCommand().getTarget() == null ) {
         response.sendRedirect( wikiContext.getURL( 
wikiContext.getRequestContext(), wikiContext.getName() ) );
         return;
@@ -59,16 +63,15 @@
 
     log.info("Page rename request for page '"+renameFrom+ "' to new name 
'"+renameTo+"' from "+HttpUtil.getRemoteAddress(request)+" by 
"+request.getRemoteUser() );
 
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     try
     {
         if (renameTo.length() > 0)
         {
-            String renamedTo = wiki.getPageRenamer().renamePage(wikiContext, 
renameFrom, renameTo, changeReferences);
+            String renamedTo = wiki.getManager( PageRenamer.class 
).renamePage(wikiContext, renameFrom, renameTo, changeReferences);
 
             FixedQueue trail = (FixedQueue) session.getAttribute( 
BreadcrumbsTag.BREADCRUMBTRAIL_KEY );
-            if( trail != null )
-            {
+            if( trail != null ) {
                 trail.removeItem( renameFrom );
                 session.setAttribute( BreadcrumbsTag.BREADCRUMBTRAIL_KEY, 
trail );
             }
@@ -101,13 +104,8 @@
 
     }
 
-    pageContext.setAttribute( "renameto",
-                              TextUtil.replaceEntities( renameTo ),
-                              PageContext.REQUEST_SCOPE );
-
-    response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    pageContext.setAttribute( "renameto", TextUtil.replaceEntities( renameTo 
), PageContext.REQUEST_SCOPE );
+    response.setContentType("text/html; charset=" + wiki.getContentEncoding() 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" />
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/Search.jsp 
b/jspwiki-war/src/main/webapp/Search.jsp
index dce8b51..2286d79 100644
--- a/jspwiki-war/src/main/webapp/Search.jsp
+++ b/jspwiki-war/src/main/webapp/Search.jsp
@@ -17,14 +17,16 @@
     under the License.
 --%>
 
+<%@ page import="java.util.*" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.auth.*" %>
 <%@ page import="org.apache.wiki.auth.permissions.*" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
-<%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page import="org.apache.wiki.search.*" %>
-<%@ page import="java.util.*" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
+<%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 
@@ -33,10 +35,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.FIND 
);
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     String pagereq = wikiContext.getName();
 
     // Get the search results
@@ -44,20 +46,13 @@
     String query = request.getParameter( "query");
     String go    = request.getParameter("go");
 
-    if( query != null )
-    {
+    if( query != null ) {
         log.info("Searching for string "+query);
 
-        try
-        {
-            list = wiki.getSearchManager().findPages( query, wikiContext );
-
-            pageContext.setAttribute( "searchresults",
-                                      list,
-                                      PageContext.REQUEST_SCOPE );
-        }
-        catch( Exception e )
-        {
+        try {
+            list = wiki.getManager( SearchManager.class ).findPages( query, 
wikiContext );
+            pageContext.setAttribute( "searchresults", list, 
PageContext.REQUEST_SCOPE );
+        } catch( Exception e ) {
             wikiContext.getWikiSession().addMessage( e.getMessage() );
         }
 
@@ -89,9 +84,7 @@
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" /><%
     log.debug("SEARCH COMPLETE");
 %>
diff --git a/jspwiki-war/src/main/webapp/SisterSites.jsp 
b/jspwiki-war/src/main/webapp/SisterSites.jsp
index d7fc719..dde554a 100644
--- a/jspwiki-war/src/main/webapp/SisterSites.jsp
+++ b/jspwiki-war/src/main/webapp/SisterSites.jsp
@@ -17,10 +17,14 @@
     under the License.  
 --%>
 
-<%@ page import="java.util.*,org.apache.wiki.*" %>
-<%@ page import="org.apache.log4j.*" %>
 <%@ page import="java.text.*" %>
+<%@ page import="java.util.*" %>
+<%@ page import="org.apache.log4j.*" %>
+<%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.references.ReferenceManager" %>
 <%@ page import="org.apache.wiki.rss.*" %>
 <%@ page import="org.apache.wiki.util.*" %>
 <%!
@@ -33,16 +37,15 @@
      *
      *  FIXME: Does not honor the ACL's on the pages.
      */
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, "rss" );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     
-    Set< String > allPages = wiki.getReferenceManager().findCreated();
+    Set< String > allPages = wiki.getManager( ReferenceManager.class 
).findCreated();
     
     response.setContentType("text/plain; charset=UTF-8");
-    for( Iterator< String > i = allPages.iterator(); i.hasNext(); )
-    {
+    for( Iterator< String > i = allPages.iterator(); i.hasNext(); ) {
         String pageName = i.next();
         
         // Let's not add attachments.
diff --git a/jspwiki-war/src/main/webapp/Upload.jsp 
b/jspwiki-war/src/main/webapp/Upload.jsp
index db1002e..729a62d 100644
--- a/jspwiki-war/src/main/webapp/Upload.jsp
+++ b/jspwiki-war/src/main/webapp/Upload.jsp
@@ -19,7 +19,10 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 
@@ -29,14 +32,14 @@
 %>
 
 <% 
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.UPLOAD );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     String pagereq = wikiContext.getName();
 
     // Set the content type and include the response content
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "UploadTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "UploadTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/UserPreferences.jsp 
b/jspwiki-war/src/main/webapp/UserPreferences.jsp
index 1cc5b89..3d4c2bc 100644
--- a/jspwiki-war/src/main/webapp/UserPreferences.jsp
+++ b/jspwiki-war/src/main/webapp/UserPreferences.jsp
@@ -19,14 +19,17 @@
 
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.WikiContext" %>
-<%@ page import="org.apache.wiki.WikiSession" %>
 <%@ page import="org.apache.wiki.WikiEngine" %>
+<%@ page import="org.apache.wiki.api.core.Engine" %>
+<%@ page import="org.apache.wiki.api.core.Session" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.auth.UserManager" %>
 <%@ page import="org.apache.wiki.auth.WikiSecurityException" %>
 <%@ page import="org.apache.wiki.auth.login.CookieAssertionLoginModule" %>
 <%@ page import="org.apache.wiki.auth.user.DuplicateUserException" %>
 <%@ page import="org.apache.wiki.auth.user.UserProfile" %>
 <%@ page import="org.apache.wiki.i18n.InternationalizationManager" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
 <%@ page import="org.apache.wiki.ui.TemplateManager" %>
@@ -40,14 +43,14 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.PREFS );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     
     // Extract the user profile and action attributes
-    UserManager userMgr = wiki.getUserManager();
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    UserManager userMgr = wiki.getManager( UserManager.class );
+    Session wikiSession = wikiContext.getWikiSession();
 
 /* FIXME: Obsolete
     if( request.getParameter(EditorManager.PARA_EDITOR) != null )
@@ -76,7 +79,7 @@
             catch( DuplicateUserException due )
             {
                 // User collision! (full name or wiki name already taken)
-                wikiSession.addMessage( "profile", 
wiki.getInternationalizationManager()
+                wikiSession.addMessage( "profile", wiki.getManager( 
InternationalizationManager.class )
                                                        .get( 
InternationalizationManager.CORE_BUNDLE,
                                                                 
Preferences.getLocale( wikiContext ), 
                                                              due.getMessage(), 
due.getArgs() ) );
@@ -97,7 +100,7 @@
         {
             String redirectPage = request.getParameter( "redirect" );
 
-            if( !wiki.getPageManager().wikiPageExists( redirectPage ) )
+            if( !wiki.getManager( PageManager.class ).wikiPageExists( 
redirectPage ) )
             {
                redirectPage = wiki.getFrontPage();
             }
@@ -116,7 +119,7 @@
         CookieAssertionLoginModule.setUserCookie( response, assertedName );
 
         String redirectPage = request.getParameter( "redirect" );
-        if( !wiki.getPageManager().wikiPageExists( redirectPage ) )
+        if( !wiki.getManager( PageManager.class ).wikiPageExists( redirectPage 
) )
         {
           redirectPage = wiki.getFrontPage();
         }
@@ -133,6 +136,6 @@
         return;
     }
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext, 
wikiContext.getTemplate(), "ViewTemplate.jsp" );
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/Wiki.jsp 
b/jspwiki-war/src/main/webapp/Wiki.jsp
index b6fc66d..5b18bdc 100644
--- a/jspwiki-war/src/main/webapp/Wiki.jsp
+++ b/jspwiki-war/src/main/webapp/Wiki.jsp
@@ -17,11 +17,14 @@
     under the License.
 --%>
 
+<%@ page import="org.apache.commons.lang3.time.StopWatch" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.*" %>
-<%@ page import="org.apache.commons.lang3.time.StopWatch" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
@@ -29,10 +32,10 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.VIEW 
);
-    if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+    if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
     String pagereq = wikiContext.getName();
 
     // Redirect if request was for a special page
@@ -51,9 +54,7 @@
 
         // Set the content type and include the response content
         response.setContentType("text/html; 
charset="+wiki.getContentEncoding() );
-        String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                                
wikiContext.getTemplate(),
-                                                                
"ViewTemplate.jsp" );
+        String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 
 %><wiki:Include page="<%=contentPage%>" /><%
     }
diff --git a/jspwiki-war/src/main/webapp/Workflow.jsp 
b/jspwiki-war/src/main/webapp/Workflow.jsp
index 5c5b5d3..f9a5b14 100644
--- a/jspwiki-war/src/main/webapp/Workflow.jsp
+++ b/jspwiki-war/src/main/webapp/Workflow.jsp
@@ -21,14 +21,18 @@
 <%@ page import="java.util.Iterator" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.WikiContext" %>
-<%@ page import="org.apache.wiki.WikiSession" %>
 <%@ page import="org.apache.wiki.WikiEngine" %>
+<%@ page import="org.apache.wiki.api.core.Engine" %>
+<%@ page import="org.apache.wiki.api.core.Session" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.workflow.Decision" %>
 <%@ page import="org.apache.wiki.workflow.DecisionQueue" %>
 <%@ page import="org.apache.wiki.workflow.NoSuchOutcomeException" %>
 <%@ page import="org.apache.wiki.workflow.Outcome" %>
 <%@ page import="org.apache.wiki.workflow.Workflow" %>
+<%@ page import="org.apache.wiki.workflow.WorkflowManager" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%!
@@ -36,16 +40,16 @@
 %>
 
 <%
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, 
WikiContext.WORKFLOW );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
     
     // Extract the wiki session
-    WikiSession wikiSession = wikiContext.getWikiSession();
+    Session wikiSession = wikiContext.getWikiSession();
     
     // Get the current decisions
-    DecisionQueue dq = wiki.getWorkflowManager().getDecisionQueue();
+    DecisionQueue dq = wiki.getManager( WorkflowManager.class 
).getDecisionQueue();
 
     if( "decide".equals(request.getParameter("action")) )
     {
@@ -83,7 +87,7 @@
           // Extract parameters for decision ID & decision outcome
           int id = Integer.parseInt( request.getParameter( "id" ) );
           // Iterate through our owner decisions and see if we can find an ID 
match
-          Collection< Workflow > workflows = 
wiki.getWorkflowManager().getOwnerWorkflows(wikiSession);
+          Collection< Workflow > workflows = wiki.getManager( 
WorkflowManager.class ).getOwnerWorkflows(wikiSession);
           for (Iterator< Workflow > it = workflows.iterator(); it.hasNext();)
           {
             Workflow w = it.next();
@@ -102,12 +106,10 @@
     
     // Stash the current decisions/workflows
     request.setAttribute("decisions",   dq.getActorDecisions(wikiSession));
-    request.setAttribute("workflows",   
wiki.getWorkflowManager().getOwnerWorkflows(wikiSession));
+    request.setAttribute("workflows",   wiki.getManager( WorkflowManager.class 
).getOwnerWorkflows( wikiSession ) );
     request.setAttribute("wikiSession", wikiSession);
     
     response.setContentType("text/html; charset="+wiki.getContentEncoding() );
-    String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-                                                            
wikiContext.getTemplate(),
-                                                            "ViewTemplate.jsp" 
);
+    String contentPage = wiki.getManager( TemplateManager.class ).findJSP( 
pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" );
 %><wiki:Include page="<%=contentPage%>" />
 
diff --git a/jspwiki-war/src/main/webapp/XHRHtml2Markup.jsp 
b/jspwiki-war/src/main/webapp/XHRHtml2Markup.jsp
index de0f96f..7a6caec 100644
--- a/jspwiki-war/src/main/webapp/XHRHtml2Markup.jsp
+++ b/jspwiki-war/src/main/webapp/XHRHtml2Markup.jsp
@@ -20,6 +20,8 @@
 <%@ page language="java" pageEncoding="UTF-8"%>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
 <%@ page import="org.apache.wiki.htmltowiki.HtmlStringToWikiTranslator" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
@@ -29,12 +31,12 @@
     wiki = WikiEngine.getInstance( getServletConfig() );
   }
   //Logger log = Logger.getLogger("XHRHtml2Markup");
-  WikiEngine wiki;
+  Engine wiki;
 %>
 <%
   WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.VIEW );
 
-  if( !wiki.getAuthorizationManager().hasAccess( wikiContext, response ) ) 
return;
+  if( !wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
 
   response.setContentType("text/html; charset="+wiki.getContentEncoding() );
   //response.setHeader( "Cache-control", "max-age=0" );
diff --git a/jspwiki-war/src/main/webapp/admin/SecurityConfig.jsp 
b/jspwiki-war/src/main/webapp/admin/SecurityConfig.jsp
index f0f59de..894c68b 100644
--- a/jspwiki-war/src/main/webapp/admin/SecurityConfig.jsp
+++ b/jspwiki-war/src/main/webapp/admin/SecurityConfig.jsp
@@ -21,6 +21,7 @@
 <%@ page import="java.security.Principal" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
 <%@ page import="org.apache.wiki.auth.*" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
@@ -31,14 +32,14 @@
     wiki = WikiEngine.getInstance( getServletConfig() );
   }
   Logger log = Logger.getLogger("JSPWiki");
-  WikiEngine wiki;
+  Engine wiki;
   SecurityVerifier verifier;
 %>
 <!doctype html>
 <html lang="en" name="top">
 <%
   WikiContext wikiContext = new WikiContext( wiki, request, WikiContext.NONE );
-  if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
+  if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response )) return;
   response.setContentType("text/html; charset="+wiki.getContentEncoding() );
   verifier = new SecurityVerifier( wiki, wikiContext.getWikiSession() );
 
@@ -118,17 +119,14 @@ and everyone in between. You have been warned.  You can 
turn it off by setting</
 -->
 <h3>Container-Managed Authentication</h3>
 <%
-  boolean isContainerAuth = 
wiki.getAuthenticationManager().isContainerAuthenticated();
-  AuthorizationManager authorizationManager = wiki.getAuthorizationManager();
-  if ( isContainerAuth )
-  {
+  boolean isContainerAuth = wiki.getManager( AuthenticationManager.class 
).isContainerAuthenticated();
+  AuthorizationManager authorizationManager = wiki.getManager( 
AuthorizationManager.class );
+  if( isContainerAuth ) {
 %>
     <!-- We are using container auth -->
     <p>I see that you've configured container-managed authentication. Very 
nice.</p>
 <%
-  }
-  else
-  {
+  } else {
 %>
     <!-- We are not using container auth -->
     <p>Container-managed authentication appears to be disabled, according to 
your <code>WEB-INF/web.xml</code> file.</p>
diff --git a/jspwiki-war/src/main/webapp/rss.jsp 
b/jspwiki-war/src/main/webapp/rss.jsp
index e60bd38..e38d3d9 100644
--- a/jspwiki-war/src/main/webapp/rss.jsp
+++ b/jspwiki-war/src/main/webapp/rss.jsp
@@ -19,16 +19,20 @@
 
 <?xml version="1.0" encoding="UTF-8"?>
 
+<%@ page import="java.text.*" %>
 <%@ page import="java.util.*" %>
+<%@ page import="net.sf.ehcache.Cache" %>
+<%@ page import="net.sf.ehcache.Element" %>
+<%@ page import="net.sf.ehcache.CacheManager" %>
 <%@ page import="org.apache.log4j.*" %>
-<%@ page import="java.text.*" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.api.core.*" %>
+<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
+<%@ page import="org.apache.wiki.plugin.WeblogPlugin" %>
+<%@ page import="org.apache.wiki.pages.PageManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.rss.*" %>
 <%@ page import="org.apache.wiki.util.*" %>
-<%@ page import="net.sf.ehcache.Cache" %>
-<%@ page import="net.sf.ehcache.Element" %>
-<%@ page import="net.sf.ehcache.CacheManager" %>
 
 <%!
     private Logger log = Logger.getLogger("JSPWiki");
@@ -47,23 +51,20 @@
         m_rssCache = new Cache(cacheName, cacheCapacity, false, false, 
m_expiryPeriod, m_expiryPeriod);
         m_cacheManager.addCache(m_rssCache);
     }
-    WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
+    Engine wiki = WikiEngine.getInstance( getServletConfig() );
     // Create wiki context and check for authorization
     WikiContext wikiContext = new WikiContext( wiki, request, "rss" );
-    if(!wiki.getAuthorizationManager().hasAccess( wikiContext, response )) 
return;
-    WikiPage    wikipage    = wikiContext.getPage();
+    if(!wiki.getManager( AuthorizationManager.class ).hasAccess( wikiContext, 
response ) ) return;
+    WikiPage wikipage = wikiContext.getPage();
 
     // Redirect if RSS generation not on
-
-    if( wiki.getRSSGenerator() == null )
-    {
+    if( wiki.getManager( RSSGenerator.class ) == null ) {
         response.sendError( 404, "RSS feeds are disabled at administrator 
request" );
         return;
     }
 
-    if( wikipage == null || 
!wiki.getPageManager().wikiPageExists(wikipage.getName()) )
-    {
-        response.sendError( 404, "No such page "+wikipage.getName() );
+    if( wikipage == null || !wiki.getManager( PageManager.class 
).wikiPageExists( wikipage.getName() ) ) {
+        response.sendError( 404, "No such page " + wikipage.getName() );
         return;
     }
 
@@ -74,11 +75,12 @@
     String      mode        = request.getParameter("mode");
     String      type        = request.getParameter("type");
     
-    if( mode == null || !(mode.equals(RSSGenerator.MODE_BLOG) || 
mode.equals(RSSGenerator.MODE_WIKI)) ) 
+    if( mode == null || !(mode.equals(RSSGenerator.MODE_BLOG) || 
mode.equals(RSSGenerator.MODE_WIKI)) ) {
           mode = RSSGenerator.MODE_BLOG;
-    if( type == null || !(type.equals(RSSGenerator.RSS10) || 
type.equals(RSSGenerator.RSS20) || type.equals(RSSGenerator.ATOM)) ) 
+    }
+    if( type == null || !(type.equals(RSSGenerator.RSS10) || 
type.equals(RSSGenerator.RSS20) || type.equals(RSSGenerator.ATOM ) ) ) {
           type = RSSGenerator.RSS20;
-    
+    }
     // Set the content type and include the response content
     response.setContentType( RSSGenerator.getContentType(type)+"; 
charset=UTF-8");
 
@@ -95,10 +97,10 @@
     List< WikiPage > changed;
     
     if( "blog".equals( mode ) ) {
-        org.apache.wiki.plugin.WeblogPlugin plug = new 
org.apache.wiki.plugin.WeblogPlugin();
+        WeblogPlugin plug = new WeblogPlugin();
         changed = plug.findBlogEntries( wiki, wikipage.getName(), new 
Date(0L), new Date() );
     } else {
-        changed = wiki.getPageManager().getVersionHistory( wikipage.getName() 
);
+        changed = wiki.getManager( PageManager.class ).getVersionHistory( 
wikipage.getName() );
     }
     
     //
@@ -128,8 +130,7 @@
     //  based on the LastModified-date, so whenever it changes, so does
     //  the hashkey so we don't have to make any special modifications.
     //
-    //  TODO: Figure out if it would be a good idea to use a disk-based
-    //        cache here.
+    //  TODO: Figure out if it would be a good idea to use a disk-based cache 
here.
     //
     String hashKey = wikipage.getName()+";"+mode+";"+type+";"+latest.getTime();
     
@@ -139,11 +140,11 @@
     if (element != null) {
       rss = (String) element.getObjectValue();
     } else { 
-        rss = wiki.getRSSGenerator().generateFeed( wikiContext, changed, mode, 
type );
-        m_rssCache.put(new Element(hashKey,rss));
+        rss = wiki.getManager( RSSGenerator.class ).generateFeed( wikiContext, 
changed, mode, type );
+        m_rssCache.put( new Element( hashKey, rss ) );
     }
     
-    out.println(rss);
+    out.println( rss );
     
     w.exitState(); 
-    %>
+    %>
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/templates/210/EditGroupContent.jsp 
b/jspwiki-war/src/main/webapp/templates/210/EditGroupContent.jsp
index 7335f31..410e67a 100644
--- a/jspwiki-war/src/main/webapp/templates/210/EditGroupContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/EditGroupContent.jsp
@@ -21,10 +21,10 @@
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" %>
 <%@ page import="java.security.Principal" %>
 <%@ page import="java.util.Arrays" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
-<%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
 <%@ page errorPage="/Error.jsp" %>
diff --git a/jspwiki-war/src/main/webapp/templates/210/GroupContent.jsp 
b/jspwiki-war/src/main/webapp/templates/210/GroupContent.jsp
index 35b4bfc..51c270a 100644
--- a/jspwiki-war/src/main/webapp/templates/210/GroupContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/GroupContent.jsp
@@ -22,11 +22,11 @@
 <%@ page import="java.security.Principal" %>
 <%@ page import="java.util.*" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
diff --git a/jspwiki-war/src/main/webapp/templates/210/GroupTab.jsp 
b/jspwiki-war/src/main/webapp/templates/210/GroupTab.jsp
index 914cfbb..447ef60 100644
--- a/jspwiki-war/src/main/webapp/templates/210/GroupTab.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/GroupTab.jsp
@@ -24,10 +24,10 @@
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
 <%@ page import="org.apache.wiki.WikiContext" %>
 <%@ page import="org.apache.wiki.auth.*" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page import="org.apache.log4j.*" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" %>
@@ -37,7 +37,7 @@
   String printWikiGroupPutGroup( Group group, String name, boolean cursor, 
PageContext pageContext)
   {
     Principal[] m = group.members();
-    java.util.Arrays.sort( m, new PrincipalComparator() );
+    Arrays.sort( m, new PrincipalComparator() );
 
     String delim = "\", \"";
 
diff --git a/jspwiki-war/src/main/webapp/templates/210/NewGroupContent.jsp 
b/jspwiki-war/src/main/webapp/templates/210/NewGroupContent.jsp
index 6008739..56f8cdb 100644
--- a/jspwiki-war/src/main/webapp/templates/210/NewGroupContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/NewGroupContent.jsp
@@ -22,10 +22,10 @@
 <%@ page import="java.util.Arrays" %>
 <%@ page import="java.util.ResourceBundle" %>
 <%@ page import="org.apache.wiki.*" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" %>
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/EditGroupContent.jsp 
b/jspwiki-war/src/main/webapp/templates/default/EditGroupContent.jsp
index bf14121..86b93e2 100644
--- a/jspwiki-war/src/main/webapp/templates/default/EditGroupContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/EditGroupContent.jsp
@@ -19,10 +19,10 @@
 
 <%@ page import="java.security.Principal" %>
 <%@ page import="java.util.Arrays" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
-<%@ page import="org.apache.wiki.auth.authorize.Group" %>
-<%@ page import="org.apache.wiki.*" %>
 <%@ page import="org.apache.log4j.*" %>
+<%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.auth.authorize.Group" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/GroupTab.jsp 
b/jspwiki-war/src/main/webapp/templates/default/GroupTab.jsp
index a497f48..d3feffc 100644
--- a/jspwiki-war/src/main/webapp/templates/default/GroupTab.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/GroupTab.jsp
@@ -20,16 +20,15 @@
 <%@ page import="java.security.Principal" %>
 <%@ page import="java.text.MessageFormat" %>
 <%@ page import="java.util.*" %>
+<%@ page import="org.apache.log4j.*" %>
 <%@ page import="org.apache.wiki.WikiContext" %>
 <%@ page import="org.apache.wiki.auth.*" %>
-<%@ page import="org.apache.wiki.auth.AuthorizationManager" %>
-<%@ page import="org.apache.wiki.auth.PrincipalComparator" %>
 <%@ page import="org.apache.wiki.auth.authorize.Group" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.auth.permissions.GroupPermission" %>
 <%@ page import="org.apache.wiki.auth.authorize.GroupManager" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
-<%@ page import="org.apache.log4j.*" %>
+<%@ page import="org.apache.wiki.util.comparators.PrincipalComparator" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags"; prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>

Reply via email to