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 e873847e6ef733b35c07082cd612f88ad349e441 Author: juanpablo <[email protected]> AuthorDate: Fri Mar 27 19:52:54 2020 +0100 JSPWIKI-303: SPI to create Pages and Attachments + use all available SPIs throughout the code --- .../java/org/apache/wiki/api/spi/ContentsDSL.java | 57 +++++++++ .../java/org/apache/wiki/api/spi/ContentsSPI.java | 50 ++++++++ .../main/java/org/apache/wiki/api/spi/Wiki.java | 8 ++ .../src/main/java/org/apache/wiki/WikiContext.java | 5 +- .../wiki/ajax/WikiAjaxDispatcherServlet.java | 3 +- .../apache/wiki/attachment/AttachmentServlet.java | 16 +-- .../wiki/attachment/DefaultAttachmentManager.java | 4 +- .../java/org/apache/wiki/filters/SpamFilter.java | 2 +- .../org/apache/wiki/pages/DefaultPageManager.java | 4 +- .../apache/wiki/parser/JSPWikiMarkupParser.java | 7 +- .../org/apache/wiki/plugin/BugReportHandler.java | 5 +- .../org/apache/wiki/plugin/WeblogEntryPlugin.java | 4 +- .../wiki/providers/AbstractFileProvider.java | 4 +- .../wiki/providers/BasicAttachmentProvider.java | 9 +- .../wiki/providers/VersioningFileProvider.java | 4 +- .../wiki/render/DefaultRenderingManager.java | 3 +- .../org/apache/wiki/rpc/atom/AtomAPIServlet.java | 3 +- .../org/apache/wiki/rss/DefaultRSSGenerator.java | 9 +- .../apache/wiki/search/LuceneSearchProvider.java | 6 +- .../java/org/apache/wiki/search/SearchMatcher.java | 10 +- .../apache/wiki/spi/ContentsSPIDefaultImpl.java | 50 ++++++++ .../org/apache/wiki/ui/DefaultCommandResolver.java | 4 +- .../main/java/org/apache/wiki/ui/Installer.java | 7 +- .../org/apache/wiki/xmlrpc/MetaWeblogHandler.java | 7 +- .../java/org/apache/wiki/xmlrpc/RPCHandler.java | 3 +- .../services/org.apache.wiki.api.spi.ContentsSPI | 1 + .../src/test/java/org/apache/wiki/TestEngine.java | 37 +++--- .../test/java/org/apache/wiki/WikiEngineTest.java | 24 ++-- .../wiki/attachment/AttachmentManagerTest.java | 42 ++++--- .../wiki/diff/ContextualDiffProviderTest.java | 130 +++++++++------------ .../apache/wiki/pages/DefaultPageManagerTest.java | 8 +- .../java/org/apache/wiki/pages/PageLockTest.java | 15 +-- .../apache/wiki/pages/PageTimeComparatorTest.java | 9 +- .../wiki/parser/JSPWikiMarkupParserTest.java | 56 ++++----- .../org/apache/wiki/plugin/CounterPluginTest.java | 32 +++-- .../wiki/plugin/DefaultPluginManagerTest.java | 4 +- .../wiki/plugin/RecentChangesPluginTest.java | 9 +- .../wiki/plugin/ReferringPagesPluginTest.java | 7 +- .../plugin/ReferringUndefinedPagesPluginTest.java | 3 +- .../wiki/plugin/UndefinedPagesPluginTest.java | 5 +- .../providers/BasicAttachmentProviderTest.java | 26 ++--- .../org/apache/wiki/providers/CounterProvider.java | 27 +++-- .../wiki/providers/VersioningFileProviderTest.java | 6 +- .../apache/wiki/providers/VerySimpleProvider.java | 4 +- .../wiki/references/ReferenceManagerTest.java | 4 +- .../org/apache/wiki/render/CreoleRendererTest.java | 57 ++++----- .../wiki/render/WysiwygEditingRendererTest.java | 3 +- .../org/apache/wiki/ui/InputValidatorTest.java | 14 +-- .../apache/wiki/ui/admin/beans/FilterBeanTest.java | 37 +++--- .../apache/wiki/ui/admin/beans/PluginBeanTest.java | 39 +++---- .../wiki/variables/DefaultVariableManagerTest.java | 3 +- .../org/apache/wiki/xmlrpc/RPCHandlerTest.java | 12 +- 52 files changed, 517 insertions(+), 381 deletions(-) diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsDSL.java b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsDSL.java new file mode 100644 index 0000000..e2c0cb7 --- /dev/null +++ b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsDSL.java @@ -0,0 +1,57 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ +package org.apache.wiki.api.spi; + +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; + + +public class ContentsDSL { + + final ContentsSPI contentsSPI; + + ContentsDSL( final ContentsSPI contentsSPI ) { + this.contentsSPI = contentsSPI; + } + + /** + * Creates a new {@link Attachment}. The final name of the attachment will be a synthesis of the parent page name and the file name. + * + * @param engine The Engine which is hosting this attachment. + * @param parentPage The page which will contain this attachment. + * @param fileName The file name for the attachment. + * @return new {@link Attachment} instance. + */ + public Attachment attachment( final Engine engine, final String parentPage, final String fileName ) { + return contentsSPI.attachment( engine, parentPage, fileName ); + } + + /** + * Creates a {@link Page} instance. + * + * @param engine The Engine that owns this page. + * @param name The name of the page. + * @return new {@link Page} instance. + */ + public Page page( final Engine engine, final String name ) { + return contentsSPI.page( engine, name ); + } + +} diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsSPI.java b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsSPI.java new file mode 100644 index 0000000..c6ad880 --- /dev/null +++ b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/ContentsSPI.java @@ -0,0 +1,50 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ +package org.apache.wiki.api.spi; + +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; + + +/** + * SPI used to locate and provide {@link Page} and {@link Attachment} instances. + */ +public interface ContentsSPI { + + /** + * Creates a new {@link Attachment}. The final name of the attachment will be a synthesis of the parent page name and the file name. + * + * @param engine The Engine which is hosting this attachment. + * @param parentPage The page which will contain this attachment. + * @param fileName The file name for the attachment. + * @return new {@link Attachment} instance. + */ + Attachment attachment( Engine engine, String parentPage, String fileName ); + + /** + * Creates a {@link Page} instance. + * + * @param engine The Engine that owns this page. + * @param name The name of the page. + * @return new {@link Page} instance. + */ + Page page( Engine engine, String name ); + +} diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/spi/Wiki.java b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/Wiki.java index a0e3e6b..6a5881c 100644 --- a/jspwiki-api/src/main/java/org/apache/wiki/api/spi/Wiki.java +++ b/jspwiki-api/src/main/java/org/apache/wiki/api/spi/Wiki.java @@ -29,26 +29,34 @@ import java.util.ServiceLoader; public class Wiki { + private static final String PROP_PROVIDER_IMPL_CONTENTS = "jspwiki.provider.impl.contents"; private static final String PROP_PROVIDER_IMPL_CONTEXT = "jspwiki.provider.impl.context"; private static final String PROP_PROVIDER_IMPL_ENGINE = "jspwiki.provider.impl.engine"; private static final String PROP_PROVIDER_IMPL_SESSION = "jspwiki.provider.impl.session"; + private static final String DEFAULT_PROVIDER_IMPL_CONTENTS = "org.apache.wiki.spi.ContentsSPIDefaultImpl"; private static final String DEFAULT_PROVIDER_IMPL_CONTEXT = "org.apache.wiki.spi.ContextSPIDefaultImpl"; private static final String DEFAULT_PROVIDER_IMPL_ENGINE = "org.apache.wiki.spi.EngineSPIDefaultImpl"; private static final String DEFAULT_PROVIDER_IMPL_SESSION = "org.apache.wiki.spi.SessionSPIDefaultImpl"; // default values private static Properties properties = PropertyReader.getDefaultProperties(); + private static ContentsSPI contentsSPI = getSPI( ContentsSPI.class, properties, PROP_PROVIDER_IMPL_CONTENTS, DEFAULT_PROVIDER_IMPL_CONTENTS ); private static ContextSPI contextSPI = getSPI( ContextSPI.class, properties, PROP_PROVIDER_IMPL_CONTEXT, DEFAULT_PROVIDER_IMPL_CONTEXT ); private static EngineSPI engineSPI = getSPI( EngineSPI.class, properties, PROP_PROVIDER_IMPL_ENGINE, DEFAULT_PROVIDER_IMPL_ENGINE ); private static SessionSPI sessionSPI = getSPI( SessionSPI.class, properties, PROP_PROVIDER_IMPL_SESSION, DEFAULT_PROVIDER_IMPL_SESSION ); static void init( final ServletContext context ) { properties = PropertyReader.loadWebAppProps( context ); + contentsSPI = getSPI( ContentsSPI.class, properties, PROP_PROVIDER_IMPL_CONTENTS, DEFAULT_PROVIDER_IMPL_CONTENTS ); contextSPI = getSPI( ContextSPI.class, properties, PROP_PROVIDER_IMPL_CONTEXT, DEFAULT_PROVIDER_IMPL_CONTEXT ); engineSPI = getSPI( EngineSPI.class, properties, PROP_PROVIDER_IMPL_ENGINE, DEFAULT_PROVIDER_IMPL_ENGINE ); sessionSPI = getSPI( SessionSPI.class, properties, PROP_PROVIDER_IMPL_SESSION, DEFAULT_PROVIDER_IMPL_SESSION ); } + public static ContentsDSL contents() { + return new ContentsDSL( contentsSPI ); + } + public static ContextDSL context() { return new ContextDSL( contextSPI ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java index 13550ae..fe537ff 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java @@ -24,6 +24,7 @@ import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.core.Session; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.AuthorizationManager; import org.apache.wiki.auth.NoSuchPrincipalException; import org.apache.wiki.auth.UserManager; @@ -189,7 +190,7 @@ public class WikiContext implements Context, Command { m_engine = engine; m_request = request; - m_session = WikiSession.getWikiSession( engine, request ); + m_session = Wiki.session().find( engine, request ); m_command = command; // If PageCommand, get the WikiPage @@ -203,7 +204,7 @@ public class WikiContext implements Context, Command { // Front page does not exist? if( m_page == null ) { - m_page = new WikiPage( m_engine, m_engine.getFrontPage() ); + m_page = ( WikiPage )Wiki.contents().page( m_engine, m_engine.getFrontPage() ); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java index 78793cb..93db834 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java @@ -21,7 +21,6 @@ package org.apache.wiki.ajax; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; -import org.apache.wiki.WikiSession; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.AuthorizationManager; @@ -164,7 +163,7 @@ public class WikiAjaxDispatcherServlet extends HttpServlet { final Engine e = Wiki.engine().find( req.getSession().getServletContext(), null ); boolean valid = false; if( container != null ) { - valid = e.getManager( AuthorizationManager.class ).checkPermission( WikiSession.getWikiSession( e, req ), container.permission ); + valid = e.getManager( AuthorizationManager.class ).checkPermission( Wiki.session().find( e, req ), container.permission ); } return valid; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java index 522ba79..f1e6692 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java @@ -26,9 +26,8 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; -import org.apache.wiki.WikiSession; import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.core.Session; @@ -36,6 +35,7 @@ import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.RedirectException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.AuthorizationManager; import org.apache.wiki.auth.permissions.PermissionFactory; import org.apache.wiki.i18n.InternationalizationManager; @@ -114,7 +114,7 @@ public class AttachmentServlet extends HttpServlet { */ @Override public void init( final ServletConfig config ) throws ServletException { - m_engine = WikiEngine.getInstance( config ); + m_engine = Wiki.engine().find( config ); final Properties props = m_engine.getWikiProperties(); final String tmpDir = m_engine.getWorkDir() + File.separator + "attach-tmp"; final String allowed = TextUtil.getStringProperty( props, AttachmentManager.PROP_ALLOWEDEXTENSIONS, null ); @@ -185,7 +185,7 @@ public class AttachmentServlet extends HttpServlet { // FIXME: Messages would need to be localized somehow. @Override public void doGet( final HttpServletRequest req, final HttpServletResponse res ) throws IOException { - final WikiContext context = new WikiContext( m_engine, req, WikiContext.ATTACH ); + final Context context = Wiki.context().create( m_engine, req, WikiContext.ATTACH ); final AttachmentManager mgr = m_engine.getManager( AttachmentManager.class ); final AuthorizationManager authmgr = m_engine.getManager( AuthorizationManager.class ); final String version = req.getParameter( HDR_VERSION ); @@ -316,7 +316,7 @@ public class AttachmentServlet extends HttpServlet { * @param fileName The name to check for. * @return A valid mime type, or application/binary, if not recognized */ - private static String getMimeType( final WikiContext ctx, final String fileName ) { + private static String getMimeType( final Context ctx, final String fileName ) { String mimetype = null; final HttpServletRequest req = ctx.getHttpRequest(); @@ -353,7 +353,7 @@ public class AttachmentServlet extends HttpServlet { req.getSession().removeAttribute("msg"); res.sendRedirect( nextPage ); } catch( final RedirectException e ) { - final Session session = WikiSession.getWikiSession( m_engine, req ); + final Session session = Wiki.session().find( m_engine, req ); session.addMessage( e.getMessage() ); req.getSession().setAttribute("msg", e.getMessage()); @@ -401,7 +401,7 @@ public class AttachmentServlet extends HttpServlet { final FileItemFactory factory = new DiskFileItemFactory(); // Create the context _before_ Multipart operations, otherwise strict servlet containers may fail when setting encoding. - final WikiContext context = new WikiContext( m_engine, req, WikiContext.ATTACH ); + final Context context = Wiki.context().create( m_engine, req, WikiContext.ATTACH ); final UploadListener pl = new UploadListener(); m_engine.getManager( ProgressManager.class ).startProgress( pl, progressId ); @@ -498,7 +498,7 @@ public class AttachmentServlet extends HttpServlet { * @throws IOException If there is a problem in the upload. * @throws ProviderException If there is a problem in the backend. */ - protected boolean executeUpload( final WikiContext context, final InputStream data, + protected boolean executeUpload( final Context context, final InputStream data, String filename, final String errorPage, final String parentPage, final String changenote, final long contentLength ) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java index 654adc8..454ebdf 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java @@ -22,7 +22,6 @@ import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; import org.apache.log4j.Logger; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; @@ -30,6 +29,7 @@ import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.NoRequiredPropertyException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.AttachmentProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.references.ReferenceManager; @@ -288,7 +288,7 @@ public class DefaultAttachmentManager implements AttachmentManager { m_provider.putAttachmentData( att, in ); m_engine.getManager( ReferenceManager.class ).updateReferences( att.getName(), new ArrayList<>() ); - final WikiPage parent = new WikiPage( m_engine, att.getParentName() ); + final Page parent = Wiki.contents().page( m_engine, att.getParentName() ); m_engine.getManager( ReferenceManager.class ).updateReferences( parent ); m_engine.getManager( SearchManager.class ).reindexPage( att ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java index 666f168..19b982c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java @@ -1010,7 +1010,7 @@ public class SpamFilter extends BasePageFilter { * @return A HTML string which contains input fields for the SpamFilter. */ public static final String insertInputFields( final PageContext pageContext ) { - final WikiContext ctx = WikiContext.findContext( pageContext ); + final Context ctx = Context.findContext( pageContext ); final Engine engine = ctx.getEngine(); final StringBuilder sb = new StringBuilder(); if( engine.getContentEncoding().equals( StandardCharsets.UTF_8 ) ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java index 0b17008..5a213fb 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java @@ -21,7 +21,6 @@ package org.apache.wiki.pages; import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.apache.wiki.WikiBackgroundThread; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Acl; import org.apache.wiki.api.core.AclEntry; import org.apache.wiki.api.core.Attachment; @@ -33,6 +32,7 @@ import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.auth.WikiPrincipal; import org.apache.wiki.auth.WikiSecurityException; @@ -411,7 +411,7 @@ public class DefaultPageManager implements PageManager { if( page != null ) { m_engine.getManager( ReferenceManager.class ).updateReferences( page ); } else { - m_engine.getManager( ReferenceManager.class ).pageRemoved( new WikiPage( m_engine, pageName ) ); + m_engine.getManager( ReferenceManager.class ).pageRemoved( Wiki.contents().page( m_engine, pageName ) ); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java index 17669f9..00d199b 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java @@ -31,11 +31,12 @@ import org.apache.oro.text.regex.Perl5Matcher; import org.apache.wiki.InternalWikiException; import org.apache.wiki.StringTransmutator; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Acl; import org.apache.wiki.api.core.Context; +import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.plugin.Plugin; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.auth.AuthorizationManager; import org.apache.wiki.auth.UserManager; @@ -799,7 +800,7 @@ public class JSPWikiMarkupParser extends MarkupParser { */ private JSPWikiMarkupParser getCleanTranslator() { if( m_cleanTranslator == null ) { - final Context dummyContext = new WikiContext( m_engine, m_context.getHttpRequest(), m_context.getPage() ); + final Context dummyContext = Wiki.context().create( m_engine, m_context.getHttpRequest(), m_context.getPage() ); m_cleanTranslator = new JSPWikiMarkupParser( dummyContext, null ); m_cleanTranslator.m_allowHTML = true; } @@ -1013,7 +1014,7 @@ public class JSPWikiMarkupParser extends MarkupParser { if( !m_parseAccessRules ) { return m_currentElement; } - final WikiPage page = ( WikiPage )m_context.getRealPage(); + final Page page = m_context.getRealPage(); // UserDatabase db = m_context.getEngine().getUserDatabase(); if( ruleLine.startsWith( "{" ) ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/BugReportHandler.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/BugReportHandler.java index 107264e..121a1de 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/BugReportHandler.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/BugReportHandler.java @@ -19,13 +19,14 @@ package org.apache.wiki.plugin; import org.apache.log4j.Logger; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.exceptions.RedirectException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.plugin.Plugin; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.preferences.Preferences; @@ -140,7 +141,7 @@ public class BugReportHandler implements Plugin { // Now create a new page for this bug report final String pageName = findNextPage( context, title, params.get( PARAM_PAGE ) ); - final WikiPage newPage = new WikiPage( context.getEngine(), pageName ); + final Page newPage = Wiki.contents().page( context.getEngine(), pageName ); final Context newContext = context.clone(); newContext.setPage( newPage ); context.getEngine().getManager( PageManager.class ).saveText( newContext, str.toString() ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java index 1424c9a..42b00b8 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java @@ -20,13 +20,13 @@ package org.apache.wiki.plugin; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.plugin.Plugin; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageLock; import org.apache.wiki.pages.PageManager; import org.apache.wiki.preferences.Preferences; @@ -130,7 +130,7 @@ public class WeblogEntryPlugin implements Plugin { // Find the first page that has no page lock. int idx = max + 1; while( idx < MAX_BLOG_ENTRIES ) { - final WikiPage page = new WikiPage( engine, WeblogPlugin.makeEntryPage( baseName, date, Integer.toString( idx ) ) ); + final Page page = Wiki.contents().page( engine, WeblogPlugin.makeEntryPage( baseName, date, Integer.toString( idx ) ) ); final PageLock lock = engine.getManager( PageManager.class ).getCurrentLock(page); if (lock == null) { break; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java index 4304ef8..3b8ac2f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java @@ -20,7 +20,6 @@ package org.apache.wiki.providers; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.NoRequiredPropertyException; @@ -29,6 +28,7 @@ import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.providers.WikiProvider; import org.apache.wiki.api.search.QueryItem; import org.apache.wiki.api.search.SearchResult; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.search.SearchMatcher; import org.apache.wiki.search.SearchResultComparator; import org.apache.wiki.util.FileUtil; @@ -373,7 +373,7 @@ public abstract class AbstractFileProvider implements PageProvider { return null; } - final Page p = new WikiPage( m_engine, page ); + final Page p = Wiki.contents().page( m_engine, page ); p.setLastModified( new Date( file.lastModified() ) ); return p; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java index 2a52a85..109867f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java @@ -19,7 +19,6 @@ package org.apache.wiki.providers; import org.apache.log4j.Logger; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; @@ -28,6 +27,7 @@ import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.AttachmentProvider; import org.apache.wiki.api.providers.WikiProvider; import org.apache.wiki.api.search.QueryItem; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageTimeComparator; import org.apache.wiki.util.FileUtil; import org.apache.wiki.util.TextUtil; @@ -417,7 +417,7 @@ public class BasicAttachmentProvider implements AttachmentProvider { String pageId = unmangleName( pagesWithAttachment ); pageId = pageId.substring( 0, pageId.length() - DIR_EXTENSION.length() ); - final Collection< Attachment > c = listAttachments( new WikiPage( m_engine, pageId ) ); + final Collection< Attachment > c = listAttachments( Wiki.contents().page( m_engine, pageId ) ); for( final Attachment att : c ) { if( att.getLastModified().after( timestamp ) ) { list.add( att ); @@ -490,15 +490,14 @@ public class BasicAttachmentProvider implements AttachmentProvider { try { final int latest = findLatestVersion( att ); for( int i = latest; i >= 1; i-- ) { - final Attachment a = getAttachmentInfo( new WikiPage( m_engine, att.getParentName() ), att.getFileName(), i ); - + final Attachment a = getAttachmentInfo( Wiki.contents().page( m_engine, att.getParentName() ), att.getFileName(), i ); if( a != null ) { list.add( a ); } } } catch( final ProviderException e ) { log.error( "Getting version history failed for page: " + att, e ); - // FIXME: SHould this fail? + // FIXME: Should this fail? } return list; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java index bf8364c..4cbd644 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java @@ -20,13 +20,13 @@ package org.apache.wiki.providers; import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.NoRequiredPropertyException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.util.FileUtil; import java.io.BufferedInputStream; @@ -432,7 +432,7 @@ public class VersioningFileProvider extends AbstractFileProvider { final File file = new File( dir, version + FILE_EXT ); if( file.exists() ) { - p = new WikiPage( m_engine, page ); + p = Wiki.contents().page( m_engine, page ); p.setLastModified( new Date( file.lastModified() ) ); p.setVersion( version ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java index a140f3a..17a7810 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java @@ -33,6 +33,7 @@ import org.apache.wiki.api.exceptions.FilterException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.providers.PageProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.event.WikiEvent; import org.apache.wiki.event.WikiEventListener; @@ -294,7 +295,7 @@ public class DefaultRenderingManager implements RenderingManager { @Override public String getHTML( final String pagename, final int version ) { final Page page = m_engine.getManager( PageManager.class ).getPage( pagename, version ); - final Context context = new WikiContext( m_engine, page ); + final Context context = Wiki.context().create( m_engine, page ); context.setRequestContext( WikiContext.NONE ); return getHTML( context, page ); } 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 faa031b..dcb9f03 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 @@ -19,7 +19,6 @@ package org.apache.wiki.rpc.atom; import org.apache.log4j.Logger; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; @@ -123,7 +122,7 @@ public class AtomAPIServlet extends HttpServlet { final WeblogEntryPlugin plugin = new WeblogEntryPlugin(); final String pageName = plugin.getNewEntryPage( m_engine, blogid ); final String username = author.getName(); - final Page entryPage = new WikiPage( m_engine, pageName ); + final Page entryPage = Wiki.contents().page( m_engine, pageName ); entryPage.setAuthor( username ); final Context context = Wiki.context().create( m_engine, request, entryPage ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/DefaultRSSGenerator.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/DefaultRSSGenerator.java index c0fa0cd..8498e1c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/DefaultRSSGenerator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/DefaultRSSGenerator.java @@ -20,14 +20,13 @@ package org.apache.wiki.rss; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; -import org.apache.wiki.WikiSession; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.core.Session; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.AuthorizationManager; import org.apache.wiki.auth.permissions.PagePermission; import org.apache.wiki.diff.DifferenceManager; @@ -127,7 +126,7 @@ public class DefaultRSSGenerator implements RSSGenerator { private String getPageDescription( final Page page ) { final StringBuilder buf = new StringBuilder(); final String author = getAuthor( page ); - final WikiContext ctx = new WikiContext( m_engine, page ); + final Context ctx = Wiki.context().create( m_engine, page ); if( page.getVersion() > 1 ) { final String diff = m_engine.getManager( DifferenceManager.class ).getDiff( ctx, page.getVersion() - 1, // FIXME: Will fail when non-contiguous versions @@ -162,7 +161,7 @@ public class DefaultRSSGenerator implements RSSGenerator { /** {@inheritDoc} */ @Override public String generate() { - final WikiContext context = new WikiContext( m_engine, new WikiPage( m_engine, "__DUMMY" ) ); + final Context context = Wiki.context().create( m_engine, Wiki.contents().page( m_engine, "__DUMMY" ) ); context.setRequestContext( WikiContext.RSS ); final Feed feed = new RSS10Feed( context ); return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + generateFullWikiRSS( context, feed ); @@ -225,7 +224,7 @@ public class DefaultRSSGenerator implements RSSGenerator { final Set< Page > changed = m_engine.getManager( PageManager.class ).getRecentChanges(); - final Session session = WikiSession.guestSession( m_engine ); + final Session session = Wiki.session().guest( m_engine ); int items = 0; for( final Iterator< Page > i = changed.iterator(); i.hasNext() && items < 15; items++ ) { final Page page = i.next(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java index 47e3a9b..8d8bd0e 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java @@ -49,7 +49,6 @@ import org.apache.lucene.store.SimpleFSDirectory; import org.apache.wiki.InternalWikiException; import org.apache.wiki.WatchDog; import org.apache.wiki.WikiBackgroundThread; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; @@ -59,6 +58,7 @@ import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.providers.WikiProvider; import org.apache.wiki.api.search.SearchResult; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.auth.AuthorizationManager; import org.apache.wiki.auth.permissions.PagePermission; @@ -522,7 +522,7 @@ public class LuceneSearchProvider implements SearchProvider { } } else { log.error( "Lucene found a result page '" + pageName + "' that could not be loaded, removing from Lucene cache" ); - pageRemoved( new WikiPage( m_engine, pageName ) ); + pageRemoved( Wiki.contents().page( m_engine, pageName ) ); } } } catch( final IOException e ) { @@ -589,7 +589,7 @@ public class LuceneSearchProvider implements SearchProvider { synchronized ( m_provider.m_updates ) { while( m_provider.m_updates.size() > 0 ) { final Object[] pair = m_provider.m_updates.remove(0); - final WikiPage page = ( WikiPage ) pair[0]; + final Page page = ( Page ) pair[0]; final String text = ( String ) pair[1]; m_provider.updateLuceneIndex(page, text); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchMatcher.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchMatcher.java index f6f745d..10c5d61 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchMatcher.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchMatcher.java @@ -21,7 +21,9 @@ package org.apache.wiki.search; import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; import org.apache.wiki.api.search.QueryItem; +import org.apache.wiki.api.spi.Wiki; import java.io.BufferedReader; import java.io.IOException; @@ -131,8 +133,8 @@ public class SearchMatcher { */ public class SearchResultImpl implements org.apache.wiki.search.SearchResult { - int m_score; - WikiPage m_page; + int m_score; + Page m_page; /** * Create a new SearchResult with a given name and a score. @@ -141,7 +143,7 @@ public class SearchMatcher { * @param score A score from 0+ */ public SearchResultImpl( final String name, final int score ) { - m_page = new WikiPage( m_engine, name ); + m_page = Wiki.contents().page( m_engine, name ); m_score = score; } @@ -151,7 +153,7 @@ public class SearchMatcher { */ @Override public WikiPage getPage() { - return m_page; + return ( WikiPage )m_page; } /** diff --git a/jspwiki-main/src/main/java/org/apache/wiki/spi/ContentsSPIDefaultImpl.java b/jspwiki-main/src/main/java/org/apache/wiki/spi/ContentsSPIDefaultImpl.java new file mode 100644 index 0000000..f0b8bc7 --- /dev/null +++ b/jspwiki-main/src/main/java/org/apache/wiki/spi/ContentsSPIDefaultImpl.java @@ -0,0 +1,50 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ +package org.apache.wiki.spi; + +import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; +import org.apache.wiki.api.spi.ContentsSPI; + + +/** + * Default implementation for {@link ContentsSPI} + * + * @see ContentsSPI + */ +public class ContentsSPIDefaultImpl implements ContentsSPI { + + /** + * {@inheritDoc} + */ + @Override + public Attachment attachment( final Engine engine, final String parentPage, final String fileName ) { + return new org.apache.wiki.attachment.Attachment( engine, parentPage, fileName ); + } + + /** + * {@inheritDoc} + */ + @Override + public Page page( final Engine engine, final String name ) { + return new WikiPage( engine, name ); + } +} diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java index e1d110e..6d67aaa 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java @@ -20,12 +20,12 @@ package org.apache.wiki.ui; import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Command; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.GroupPrincipal; import org.apache.wiki.pages.PageManager; import org.apache.wiki.parser.MarkupParser; @@ -311,7 +311,7 @@ public final class DefaultCommandResolver implements CommandResolver { Page wikipage = m_engine.getManager( PageManager.class ).getPage( page, version ); if ( wikipage == null ) { page = MarkupParser.cleanLink( page ); - wikipage = new WikiPage( m_engine, page ); + wikipage = Wiki.contents().page( m_engine, page ); } return wikipage; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java index 0c8b40a..a6431a3 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java @@ -18,11 +18,10 @@ */ package org.apache.wiki.ui; -import org.apache.wiki.WikiEngine; -import org.apache.wiki.WikiSession; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Session; import org.apache.wiki.api.providers.AttachmentProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.NoSuchPrincipalException; import org.apache.wiki.auth.UserManager; import org.apache.wiki.auth.WikiPrincipal; @@ -76,8 +75,8 @@ public class Installer { public Installer( final HttpServletRequest request, final ServletConfig config ) { // Get wiki session for this user - m_engine = WikiEngine.getInstance( config ); - m_session = WikiSession.getWikiSession( m_engine, request ); + m_engine = Wiki.engine().find( config ); + m_session = Wiki.session().find( m_engine, request ); // Get the file for properties m_propertyFile = new File(TMP_DIR, PROPFILENAME); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java index ac4cde9..e9b5883 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java @@ -20,12 +20,11 @@ package org.apache.wiki.xmlrpc; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.spi.Wiki; -import org.apache.wiki.attachment.Attachment; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.auth.AuthenticationManager; import org.apache.wiki.auth.AuthorizationManager; @@ -210,7 +209,7 @@ public class MetaWeblogHandler implements WikiRPCHandler { try { final WeblogEntryPlugin plugin = new WeblogEntryPlugin(); final String pageName = plugin.getNewEntryPage( engine, blogid ); - final Page entryPage = new WikiPage( engine, pageName ); + final Page entryPage = Wiki.contents().page( engine, pageName ); entryPage.setAuthor( username ); final Context context = Wiki.context().create( engine, entryPage ); @@ -260,7 +259,7 @@ public class MetaWeblogHandler implements WikiRPCHandler { final AttachmentManager attmgr = engine.getManager( AttachmentManager.class ); try { - final Attachment att = new Attachment( engine, blogid, name ); + final Attachment att = Wiki.contents().attachment( engine, blogid, name ); att.setAuthor( username ); attmgr.storeAttachment( att, new ByteArrayInputStream( data ) ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java index e565c39..44812d0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java @@ -23,6 +23,7 @@ import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.auth.permissions.PagePermission; import org.apache.wiki.auth.permissions.PermissionFactory; import org.apache.wiki.pages.PageManager; @@ -217,7 +218,7 @@ public class RPCHandler extends AbstractRPCHandler { final LinkCollector extCollector = new LinkCollector(); final LinkCollector attCollector = new LinkCollector(); - final Context context = new WikiContext( m_engine, page ); + final Context context = Wiki.context().create( m_engine, page ); m_engine.getManager( RenderingManager.class ).textToHTML( context, pagedata, localCollector, extCollector, attCollector ); final Vector< Hashtable< String, String > > result = new Vector<>(); diff --git a/jspwiki-main/src/main/resources/META-INF/services/org.apache.wiki.api.spi.ContentsSPI b/jspwiki-main/src/main/resources/META-INF/services/org.apache.wiki.api.spi.ContentsSPI new file mode 100644 index 0000000..af2111c --- /dev/null +++ b/jspwiki-main/src/main/resources/META-INF/services/org.apache.wiki.api.spi.ContentsSPI @@ -0,0 +1 @@ +org.apache.wiki.spi.ContentsSPIDefaultImpl \ No newline at end of file diff --git a/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java b/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java index d096e06..abf90c6 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java @@ -24,21 +24,26 @@ import net.sourceforge.stripes.mock.MockHttpSession; import net.sourceforge.stripes.mock.MockServletContext; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.core.Session; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.providers.AttachmentProvider; import org.apache.wiki.api.providers.PageProvider; -import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.api.spi.Wiki; +import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.auth.AuthenticationManager; import org.apache.wiki.auth.SessionMonitor; import org.apache.wiki.auth.Users; import org.apache.wiki.auth.WikiSecurityException; import org.apache.wiki.event.WikiPageEvent; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.providers.AbstractFileProvider; import org.apache.wiki.providers.BasicAttachmentProvider; import org.apache.wiki.providers.FileSystemProvider; +import org.apache.wiki.render.RenderingManager; import org.apache.wiki.util.FileUtil; import org.apache.wiki.util.PropertyReader; import org.apache.wiki.util.TextUtil; @@ -79,7 +84,7 @@ public class TestEngine extends WikiEngine { // Set up long-running admin session final HttpServletRequest request = newHttpRequest(); m_adminWikiSession = WikiSession.getWikiSession( this, request ); - this.getAuthenticationManager().login( m_adminWikiSession, request, Users.ADMIN, Users.ADMIN_PASS ); + this.getManager( AuthenticationManager.class ).login( m_adminWikiSession, request, Users.ADMIN, Users.ADMIN_PASS ); } return m_adminWikiSession; } @@ -109,7 +114,7 @@ public class TestEngine extends WikiEngine { // Set up a test Janne session final HttpServletRequest request = newHttpRequest(); m_janneWikiSession = WikiSession.getWikiSession( this, request ); - this.getAuthenticationManager().login( m_janneWikiSession, request, Users.JANNE, Users.JANNE_PASS ); + this.getManager( AuthenticationManager.class ).login( m_janneWikiSession, request, Users.JANNE, Users.JANNE_PASS ); } return m_janneWikiSession; } @@ -393,8 +398,8 @@ public class TestEngine extends WikiEngine { * @param data */ public void addAttachment( final String pageName, final String attachmentName, final byte[] data ) throws ProviderException, IOException { - final Attachment att = new Attachment( this,pageName,attachmentName ); - getAttachmentManager().storeAttachment( att, new ByteArrayInputStream( data ) ); + final Attachment att = Wiki.contents().attachment( this,pageName,attachmentName ); + getManager( AttachmentManager.class ).storeAttachment( att, new ByteArrayInputStream( data ) ); } /** @@ -410,25 +415,25 @@ public class TestEngine extends WikiEngine { // Build new request and associate our admin session final MockHttpServletRequest request = newHttpRequest(); final Session wikiSession = SessionMonitor.getInstance( this ).find( request.getSession() ); - this.getAuthenticationManager().login( wikiSession, request, Users.ADMIN, Users.ADMIN_PASS ); + this.getManager( AuthenticationManager.class ).login( wikiSession, request, Users.ADMIN, Users.ADMIN_PASS ); // Create page and wiki context - final WikiPage page = new WikiPage( this, pageName ); - final WikiContext context = new WikiContext( this, request, page ); - getPageManager().saveText( context, content ); + final Page page = Wiki.contents().page( this, pageName ); + final Context context = Wiki.context().create( this, request, page ); + getManager( PageManager.class ).saveText( context, content ); } public void saveTextAsJanne( final String pageName, final String content ) throws WikiException { // Build new request and associate our Janne session final MockHttpServletRequest request = newHttpRequest(); final Session wikiSession = SessionMonitor.getInstance( this ).find( request.getSession() ); - this.getAuthenticationManager().login( wikiSession, request, Users.JANNE, Users.JANNE_PASS ); + this.getManager( AuthenticationManager.class ).login( wikiSession, request, Users.JANNE, Users.JANNE_PASS ); // Create page and wiki context - final WikiPage page = new WikiPage( this, pageName ); + final Page page = Wiki.contents().page( this, pageName ); page.setAuthor(Users.JANNE); - final WikiContext context = new WikiContext( this, request, page ); - getPageManager().saveText( context, content ); + final Context context = Wiki.context().create( this, request, page ); + getManager( PageManager.class ).saveText( context, content ); } /** @@ -439,10 +444,10 @@ public class TestEngine extends WikiEngine { * @return (english) contents corresponding to the given page name. */ public String getI18nHTML( final String pagename ) { - final Page page = getPageManager().getPage( pagename, PageProvider.LATEST_VERSION ); - final WikiContext context = new WikiContext( this, newHttpRequest(), page ); + final Page page = getManager( PageManager.class ).getPage( pagename, PageProvider.LATEST_VERSION ); + final Context context = Wiki.context().create( this, newHttpRequest(), page ); context.setRequestContext( WikiContext.NONE ); - return getRenderingManager().getHTML( context, page ); + return getManager( RenderingManager.class ).getHTML( context, page ); } public static void trace() { diff --git a/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java b/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java index eb92bba..dcfcec5 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java @@ -20,8 +20,10 @@ package org.apache.wiki; import net.sf.ehcache.CacheManager; +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; -import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.content.PageRenamer; import org.apache.wiki.modules.ModuleManager; @@ -128,7 +130,7 @@ public class WikiEngineTest { final AttachmentManager attMgr = m_engine.getManager( AttachmentManager.class ); m_engine.saveText( NAME1, "fooBar"); - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); attMgr.storeAttachment( att, m_engine.makeAttachmentFile() ); @@ -185,7 +187,7 @@ public class WikiEngineTest { // now we create the attachment - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); attMgr.storeAttachment( att, m_engine.makeAttachmentFile() ); @@ -213,7 +215,7 @@ public class WikiEngineTest { m_engine.saveText( NAME1, "fooBar"); - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); attMgr.storeAttachment( att, m_engine.makeAttachmentFile() ); @@ -238,7 +240,7 @@ public class WikiEngineTest { m_engine.saveText( NAME1, "[TestPage2]"); - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); attMgr.storeAttachment( att, m_engine.makeAttachmentFile() ); m_engine.saveText( "TestPage2", "["+NAME1+"/TestAtt.txt]"); @@ -310,20 +312,20 @@ public class WikiEngineTest { @Test public void testChangeNoteOldVersion2() throws Exception { - final WikiPage p = new WikiPage( m_engine, NAME1 ); - final WikiContext context = new WikiContext(m_engine,p); - context.getPage().setAttribute( WikiPage.CHANGENOTE, "Test change" ); + final Page p = Wiki.contents().page( m_engine, NAME1 ); + final Context context = Wiki.context().create( m_engine,p ); + context.getPage().setAttribute( Page.CHANGENOTE, "Test change" ); m_engine.getManager( PageManager.class ).saveText( context, "test" ); for( int i = 0; i < 5; i++ ) { - final WikiPage p2 = ( WikiPage )m_engine.getManager( PageManager.class ).getPage( NAME1 ).clone(); - p2.removeAttribute( WikiPage.CHANGENOTE ); + final Page p2 = m_engine.getManager( PageManager.class ).getPage( NAME1 ).clone(); + p2.removeAttribute( Page.CHANGENOTE ); context.setPage( p2 ); m_engine.getManager( PageManager.class ).saveText( context, "test" + i ); } final Page p3 = m_engine.getManager( PageManager.class ).getPage( NAME1, -1 ); - Assertions.assertNull( p3.getAttribute( WikiPage.CHANGENOTE ) ); + Assertions.assertNull( p3.getAttribute( Page.CHANGENOTE ) ); } @Test diff --git a/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java index 2fb931f..3a46512 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java @@ -16,10 +16,10 @@ package org.apache.wiki.attachment; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; import org.apache.wiki.util.FileUtil; import org.junit.jupiter.api.AfterEach; @@ -89,13 +89,13 @@ public class AttachmentManagerTest { public void testSimpleStore() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); att.setAuthor( "FirstPost" ); m_manager.storeAttachment( att, makeAttachmentFile() ); - final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, new WikiPage(m_engine, NAME1)), "test1.txt" ); + final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, Wiki.contents().page(m_engine, NAME1)), "test1.txt" ); Assertions.assertNotNull( att2, "attachment disappeared" ); Assertions.assertEquals( att.getName(), att2.getName(), "name" ); @@ -119,15 +119,13 @@ public class AttachmentManagerTest { public void testSimpleStoreSpace() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test file.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test file.txt" ); att.setAuthor( "FirstPost" ); m_manager.storeAttachment( att, makeAttachmentFile() ); - final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, - new WikiPage(m_engine, NAME1)), - "test file.txt" ); + final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, Wiki.contents().page(m_engine, NAME1)),"test file.txt" ); Assertions.assertNotNull( att2, "attachment disappeared" ); Assertions.assertEquals( att.getName(), att2.getName(), "name" ); @@ -151,13 +149,13 @@ public class AttachmentManagerTest { public void testSimpleStoreByVersion() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); att.setAuthor( "FirstPost" ); m_manager.storeAttachment( att, makeAttachmentFile() ); - final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, new WikiPage(m_engine, NAME1)), "test1.txt", 1 ); + final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, Wiki.contents().page(m_engine, NAME1)), "test1.txt", 1 ); Assertions.assertNotNull( att2, "attachment disappeared" ); Assertions.assertEquals( 1, att2.getVersion(), "version" ); @@ -182,7 +180,7 @@ public class AttachmentManagerTest { public void testMultipleStore() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); att.setAuthor( "FirstPost" ); @@ -191,7 +189,7 @@ public class AttachmentManagerTest { att.setAuthor( "FooBar" ); m_manager.storeAttachment( att, makeAttachmentFile() ); - final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, new WikiPage(m_engine, NAME1)), "test1.txt" ); + final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, Wiki.contents().page(m_engine, NAME1)), "test1.txt" ); Assertions.assertNotNull( att2, "attachment disappeared" ); Assertions.assertEquals( att.getName(), att2.getName(), "name" ); @@ -215,7 +213,7 @@ public class AttachmentManagerTest { // Check that first author did not disappear // - final Attachment att3 = m_manager.getAttachmentInfo( new WikiContext(m_engine, new WikiPage(m_engine, NAME1)), "test1.txt", 1 ); + final Attachment att3 = m_manager.getAttachmentInfo( new WikiContext(m_engine, Wiki.contents().page(m_engine, NAME1)), "test1.txt", 1 ); Assertions.assertEquals( 1, att3.getVersion(), "version of v1" ); Assertions.assertEquals( "FirstPost", att3.getAuthor(), "name of v1" ); } @@ -224,13 +222,13 @@ public class AttachmentManagerTest { public void testListAttachments() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); att.setAuthor( "FirstPost" ); m_manager.storeAttachment( att, makeAttachmentFile() ); - final List< Attachment > c = m_manager.listAttachments( new WikiPage(m_engine, NAME1) ); + final List< Attachment > c = m_manager.listAttachments( Wiki.contents().page(m_engine, NAME1) ); Assertions.assertEquals( 1, c.size(), "Length" ); @@ -243,14 +241,14 @@ public class AttachmentManagerTest { @Test public void testSimpleStoreWithoutExt() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1" ); att.setAuthor( "FirstPost" ); m_manager.storeAttachment( att, makeAttachmentFile() ); final Attachment att2 = m_manager.getAttachmentInfo( new WikiContext(m_engine, - new WikiPage(m_engine, NAME1)), + Wiki.contents().page(m_engine, NAME1)), "test1" ); Assertions.assertNotNull( att2, "attachment disappeared" ); @@ -276,7 +274,7 @@ public class AttachmentManagerTest { @Test public void testExists() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1" ); att.setAuthor( "FirstPost" ); @@ -288,7 +286,7 @@ public class AttachmentManagerTest { @Test public void testExists2() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.bin" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.bin" ); att.setAuthor( "FirstPost" ); @@ -300,7 +298,7 @@ public class AttachmentManagerTest { @Test public void testExistsSpace() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test file.bin" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test file.bin" ); att.setAuthor( "FirstPost" ); @@ -312,7 +310,7 @@ public class AttachmentManagerTest { @Test public void testExistsUTF1() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test\u00e4.bin" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test\u00e4.bin" ); att.setAuthor( "FirstPost" ); @@ -324,7 +322,7 @@ public class AttachmentManagerTest { @Test public void testExistsUTF2() throws Exception { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAMEU, "test\u00e4.bin" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAMEU, "test\u00e4.bin" ); att.setAuthor( "FirstPost" ); @@ -340,7 +338,7 @@ public class AttachmentManagerTest { { m_engine.saveText( "TestPage", "xx" ); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, "TestPages", "foo.bin" ); + final Attachment att = Wiki.contents().attachment( m_engine, "TestPages", "foo.bin" ); att.setAuthor("MonicaBellucci"); m_manager.storeAttachment( att, makeAttachmentFile() ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/diff/ContextualDiffProviderTest.java b/jspwiki-main/src/test/java/org/apache/wiki/diff/ContextualDiffProviderTest.java index 3f24843..999b781 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/diff/ContextualDiffProviderTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/diff/ContextualDiffProviderTest.java @@ -18,9 +18,7 @@ */ package org.apache.wiki.diff; -import org.apache.log4j.PropertyConfigurator; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.spi.Wiki; @@ -30,8 +28,9 @@ import org.junit.jupiter.api.Test; import java.io.IOException; import java.util.Properties; -public class ContextualDiffProviderTest -{ + +public class ContextualDiffProviderTest { + /** * Sets up some shorthand notation for writing test cases. * <p> @@ -39,8 +38,7 @@ public class ContextualDiffProviderTest * <p> * Get it? */ - private void specializedNotation( final ContextualDiffProvider diff) - { + private void specializedNotation( final ContextualDiffProvider diff ) { diff.CHANGE_END_HTML = "|"; diff.CHANGE_START_HTML = "|"; @@ -62,111 +60,93 @@ public class ContextualDiffProviderTest diff.ALTERNATING_SPACE_HTML = "_"; } - - @Test - public void testNoChanges() throws IOException, WikiException - { - diffTest(null, "", "", ""); - diffTest(null, "A", "A", "A"); - diffTest(null, "A B", "A B", "A B"); - - diffTest(null, " ", " ", " _ _ _"); - diffTest(null, "A B C", "A B C", "A B _C"); - diffTest(null, "A B C", "A B C", "A B _ C"); + public void testNoChanges() throws IOException, WikiException { + diffTest( null, "", "", "" ); + diffTest( null, "A", "A", "A" ); + diffTest( null, "A B", "A B", "A B" ); + + diffTest( null, " ", " ", " _ _ _" ); + diffTest( null, "A B C", "A B C", "A B _C" ); + diffTest( null, "A B C", "A B C", "A B _ C" ); } - - @Test - public void testSimpleInsertions() throws IOException, WikiException - { + public void testSimpleInsertions() throws IOException, WikiException { // Ah, the white space trailing an insertion is tacked onto the insertion, this is fair, the // alternative would be to greedily take the leading whitespace before the insertion as part // of it instead, and that doesn't make any more or less sense. just remember this behaviour // when writing tests. // Simple inserts... - diffTest(null, "A C", "A B C", "A |^B ^|C"); - diffTest(null, "A D", "A B C D", "A |^B C ^|D"); + diffTest( null, "A C", "A B C", "A |^B ^|C" ); + diffTest( null, "A D", "A B C D", "A |^B C ^|D" ); // Simple inserts with spaces... - diffTest(null, "A C", "A B C", "A |^B _^|C"); - diffTest(null, "A C", "A B C", "A |^B _ ^|C"); - diffTest(null, "A C", "A B C", "A |^B _ _^|C"); + diffTest( null, "A C", "A B C", "A |^B _^|C" ); + diffTest( null, "A C", "A B C", "A |^B _ ^|C" ); + diffTest( null, "A C", "A B C", "A |^B _ _^|C" ); // Just inserted spaces... - diffTest(null, "A B", "A B", "A |^_^|B"); - diffTest(null, "A B", "A B", "A |^_ ^|B"); - diffTest(null, "A B", "A B", "A |^_ _^|B"); - diffTest(null, "A B", "A B", "A |^_ _ ^|B"); + diffTest( null, "A B", "A B", "A |^_^|B" ); + diffTest( null, "A B", "A B", "A |^_ ^|B" ); + diffTest( null, "A B", "A B", "A |^_ _^|B" ); + diffTest( null, "A B", "A B", "A |^_ _ ^|B" ); } - - @Test - public void testSimpleDeletions() throws IOException, WikiException - { + public void testSimpleDeletions() throws IOException, WikiException { // Simple deletes... - diffTest(null, "A B C", "A C", "A |-B -|C"); - diffTest(null, "A B C D", "A D", "A |-B C -|D"); + diffTest( null, "A B C", "A C", "A |-B -|C" ); + diffTest( null, "A B C D", "A D", "A |-B C -|D" ); // Simple deletes with spaces... - diffTest(null, "A B C", "A C", "A |-B _-|C"); - diffTest(null, "A B C", "A C", "A |-B _ -|C"); + diffTest( null, "A B C", "A C", "A |-B _-|C" ); + diffTest( null, "A B C", "A C", "A |-B _ -|C" ); // Just deleted spaces... - diffTest(null, "A B", "A B", "A |-_-|B"); - diffTest(null, "A B", "A B", "A |-_ -|B"); - diffTest(null, "A B", "A B", "A |-_ _-|B"); + diffTest( null, "A B", "A B", "A |-_-|B" ); + diffTest( null, "A B", "A B", "A |-_ -|B" ); + diffTest( null, "A B", "A B", "A |-_ _-|B" ); } - - @Test - public void testContextLimits() throws IOException, WikiException - { + public void testContextLimits() throws IOException, WikiException { // No change - diffTest("1", "A B C D E F G H I", "A B C D E F G H I", "A..."); + diffTest( "1", "A B C D E F G H I", "A B C D E F G H I", "A..." ); //TODO Hmm, should the diff provider instead return the string, "No Changes"? // Bad property value, should default to huge context limit and return entire string. - diffTest("foobar", "A B C D E F G H I", "A B C D F G H I", "A B C D |-E -|F G H I"); + diffTest( "foobar", "A B C D E F G H I", "A B C D F G H I", "A B C D |-E -|F G H I" ); // One simple deletion, limit context to 2... - diffTest("2", "A B C D E F G H I", "A B C D F G H I", "...D |-E -|F ..."); + diffTest( "2", "A B C D E F G H I", "A B C D F G H I", "...D |-E -|F ..." ); // Deletion of first element, limit context to 2... - diffTest("2", "A B C D E", "B C D E", "|-A -|B ..."); + diffTest( "2", "A B C D E", "B C D E", "|-A -|B ..." ); // Deletion of last element, limit context to 2... - diffTest("2", "A B C D E", "A B C D ", "...D |-E-|"); + diffTest( "2", "A B C D E", "A B C D ", "...D |-E-|" ); // Two simple deletions, limit context to 2... - diffTest("2", "A B C D E F G H I J K L M N O P", "A B C E F G H I J K M N O P", - "...C |-D -|E ......K |-L -|M ..."); - + diffTest( "2", "A B C D E F G H I J K L M N O P", "A B C E F G H I J K M N O P", "...C |-D -|E ......K |-L -|M ..." ); } @Test - public void testMultiples() throws IOException, WikiException - { - diffTest(null, "A F", "A B C D E F", "A |^B C D E ^|F"); - diffTest(null, "A B C D E F", "A F", "A |-B C D E -|F"); - + public void testMultiples() throws IOException, WikiException { + diffTest( null, "A F", "A B C D E F", "A |^B C D E ^|F" ); + diffTest( null, "A B C D E F", "A F", "A |-B C D E -|F" ); } @Test - public void testSimpleChanges() throws IOException, WikiException - { + public void testSimpleChanges() throws IOException, WikiException { // *changes* are actually an insert and a delete in the output... //single change - diffTest(null, "A B C", "A b C", "A |^b^-B-| C"); + diffTest( null, "A B C", "A b C", "A |^b^-B-| C" ); //non-consequtive changes... - diffTest(null, "A B C D E", "A b C d E", "A |^b^-B-| C |^d^-D-| E"); - + diffTest( null, "A B C D E", "A b C d E", "A |^b^-B-| C |^d^-D-| E" ); } // FIXME: This test Assertions.fails; must be enabled again asap. @@ -191,26 +171,24 @@ public class ContextualDiffProviderTest } */ - private void diffTest( final String contextLimit, final String oldText, final String newText, final String expectedDiff) - throws IOException, WikiException - { + private void diffTest( final String contextLimit, final String oldText, final String newText, final String expectedDiff ) + throws IOException, WikiException { final ContextualDiffProvider diff = new ContextualDiffProvider(); - specializedNotation(diff); + specializedNotation( diff ); final Properties props = TestEngine.getTestProperties(); - if (null != contextLimit) - props.put(ContextualDiffProvider.PROP_UNCHANGED_CONTEXT_LIMIT, contextLimit); - - diff.initialize(null, props); + if( null != contextLimit ) { + props.put( ContextualDiffProvider.PROP_UNCHANGED_CONTEXT_LIMIT, contextLimit ); + } - PropertyConfigurator.configure(props); - final TestEngine engine = new TestEngine(props); + diff.initialize( null, props ); - final Context ctx = Wiki.context().create( engine, new WikiPage(engine,"Dummy") ); - final String actualDiff = diff.makeDiffHtml( ctx, oldText, newText); + final TestEngine engine = new TestEngine( props ); + final Context ctx = Wiki.context().create( engine, Wiki.contents().page( engine, "Dummy" ) ); + final String actualDiff = diff.makeDiffHtml( ctx, oldText, newText ); - Assertions.assertEquals(expectedDiff, actualDiff); + Assertions.assertEquals( expectedDiff, actualDiff ); } } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java index 593d75b..12dcc55 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java @@ -22,11 +22,11 @@ package org.apache.wiki.pages; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.providers.AttachmentProvider; import org.apache.wiki.api.providers.WikiProvider; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.providers.CachingProvider; import org.apache.wiki.providers.FileSystemProvider; @@ -74,7 +74,7 @@ public class DefaultPageManagerTest { */ @Test public void testNonExistentPage2() throws Exception { - final WikiPage page = new WikiPage( engine, NAME1 ); + final Page page = Wiki.contents().page( engine, NAME1 ); Assertions.assertFalse( engine.getManager( PageManager.class ).wikiPageExists( page ), "Page already exists" ); } @@ -109,7 +109,7 @@ public class DefaultPageManagerTest { @Test public void testDeletePageAndAttachments() throws Exception { engine.saveText( NAME1, "Test" ); - final Attachment att = new org.apache.wiki.attachment.Attachment( engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); engine.getManager( AttachmentManager.class ).storeAttachment( att, engine.makeAttachmentFile() ); @@ -133,7 +133,7 @@ public class DefaultPageManagerTest { @Test public void testDeletePageAndAttachments2() throws Exception { engine.saveText( NAME1, "Test" ); - Attachment att = new org.apache.wiki.attachment.Attachment( engine, NAME1, "TestAtt.txt" ); + Attachment att = Wiki.contents().attachment( engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); engine.getManager( AttachmentManager.class ).storeAttachment( att, engine.makeAttachmentFile() ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/pages/PageLockTest.java b/jspwiki-main/src/test/java/org/apache/wiki/pages/PageLockTest.java index c4e9d5b..9d5138a 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/pages/PageLockTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/pages/PageLockTest.java @@ -1,21 +1,22 @@ package org.apache.wiki.pages; -import java.util.Date; - import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Page; +import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.Date; + public class PageLockTest { @Test public void testPageLockIsExpired() throws Exception { - TestEngine engine = new TestEngine( TestEngine.getTestProperties() ); - WikiPage page = new WikiPage( engine, "test" ); - PageLock lock1 = new PageLock( page, "user", new Date( System.currentTimeMillis() - 10000 ), new Date( System.currentTimeMillis() - 5000 ) ); - PageLock lock2 = new PageLock( page, "user", new Date( System.currentTimeMillis() - 10000 ), new Date( System.currentTimeMillis() + 5000 ) ); + final TestEngine engine = new TestEngine( TestEngine.getTestProperties() ); + final Page page = Wiki.contents().page( engine, "test" ); + final PageLock lock1 = new PageLock( page, "user", new Date( System.currentTimeMillis() - 10000 ), new Date( System.currentTimeMillis() - 5000 ) ); + final PageLock lock2 = new PageLock( page, "user", new Date( System.currentTimeMillis() - 10000 ), new Date( System.currentTimeMillis() + 5000 ) ); Assertions.assertTrue( lock1.isExpired() ); Assertions.assertFalse( lock2.isExpired() ); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/pages/PageTimeComparatorTest.java b/jspwiki-main/src/test/java/org/apache/wiki/pages/PageTimeComparatorTest.java index 101b7a4..cc7156f 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/pages/PageTimeComparatorTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/pages/PageTimeComparatorTest.java @@ -19,7 +19,8 @@ package org.apache.wiki.pages; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Page; +import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -33,9 +34,9 @@ public class PageTimeComparatorTest { TestEngine engine = TestEngine.build(); PageTimeComparator comparator = new PageTimeComparator(); - WikiPage p1 = new WikiPage( engine, "A" ); - WikiPage p2 = new WikiPage( engine, "B" ); - WikiPage p3 = new WikiPage( engine, "A" ); + Page p1 = Wiki.contents().page( engine, "A" ); + Page p2 = Wiki.contents().page( engine, "B" ); + Page p3 = Wiki.contents().page( engine, "A" ); @Test void shouldCheckCompareByTimeGetsMoreRecentOnTop() { diff --git a/jspwiki-main/src/test/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java b/jspwiki-main/src/test/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java index 7c85001..fd0ddb6 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java @@ -23,11 +23,13 @@ import org.apache.wiki.LinkCollector; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.NoRequiredPropertyException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.api.providers.AttachmentProvider; -import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.providers.BasicAttachmentProvider; import org.apache.wiki.render.RenderingManager; @@ -100,7 +102,7 @@ public class JSPWikiMarkupParserTest NoRequiredPropertyException, ServletException { - return translate( new WikiPage(testEngine, PAGE_NAME), src ); + return translate( Wiki.contents().page(testEngine, PAGE_NAME), src ); } private String translate( final WikiEngine e, final String src ) @@ -108,11 +110,11 @@ public class JSPWikiMarkupParserTest NoRequiredPropertyException, ServletException { - return translate( e, new WikiPage(testEngine, PAGE_NAME), src ); + return translate( e, Wiki.contents().page(testEngine, PAGE_NAME), src ); } - private String translate( final WikiPage p, final String src ) + private String translate( final Page p, final String src ) throws IOException, NoRequiredPropertyException, ServletException @@ -120,7 +122,7 @@ public class JSPWikiMarkupParserTest return translate( testEngine, p, src ); } - private String translate( final WikiEngine e, final WikiPage p, final String src ) + private String translate( final Engine e, final Page p, final String src ) throws IOException, NoRequiredPropertyException, ServletException @@ -146,7 +148,7 @@ public class JSPWikiMarkupParserTest final TestEngine testEngine2 = new TestEngine( props ); final WikiContext context = new WikiContext( testEngine2, - new WikiPage(testEngine2, PAGE_NAME) ); + Wiki.contents().page(testEngine2, PAGE_NAME) ); final JSPWikiMarkupParser r = new JSPWikiMarkupParser( context, new BufferedReader( new StringReader(src)) ); @@ -734,7 +736,7 @@ public class JSPWikiMarkupParserTest { newPage("Test"); - final Attachment att = new Attachment( testEngine, "Test", "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( testEngine, "Test", "TestAtt.txt" ); att.setAuthor( "FirstPost" ); testEngine.getManager( AttachmentManager.class ).storeAttachment( att, testEngine.makeAttachmentFile() ); @@ -757,10 +759,10 @@ public class JSPWikiMarkupParserTest testEngine2.saveText( "Test", "foo "); created.addElement( "Test" ); - final Attachment att = new Attachment( testEngine2, "Test", "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( testEngine2, "Test", "TestAtt.txt" ); att.setAuthor( "FirstPost" ); - testEngine2.getAttachmentManager().storeAttachment( att, testEngine.makeAttachmentFile() ); + testEngine2.getManager( AttachmentManager.class ).storeAttachment( att, testEngine.makeAttachmentFile() ); final String src = "This should be an [attachment link|Test/TestAtt.txt]"; @@ -781,10 +783,10 @@ public class JSPWikiMarkupParserTest testEngine2.saveText( "TestPage", "foo "); created.addElement( "TestPage" ); - final Attachment att = new Attachment( testEngine2, "TestPage", "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( testEngine2, "TestPage", "TestAtt.txt" ); att.setAuthor( "FirstPost" ); - testEngine2.getAttachmentManager().storeAttachment( att, testEngine.makeAttachmentFile() ); + testEngine2.getManager( AttachmentManager.class ).storeAttachment( att, testEngine.makeAttachmentFile() ); final String src = "[Test page/TestAtt.txt]"; @@ -802,10 +804,10 @@ public class JSPWikiMarkupParserTest testEngine2.saveText( "TestPage", "foo "); created.addElement( "TestPage" ); - final Attachment att = new Attachment( testEngine2, "TestPage", "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( testEngine2, "TestPage", "TestAtt.txt" ); att.setAuthor( "FirstPost" ); - testEngine2.getAttachmentManager().storeAttachment( att, testEngine.makeAttachmentFile() ); + testEngine2.getManager( AttachmentManager.class ).storeAttachment( att, testEngine.makeAttachmentFile() ); final String src = "["+testEngine2.getManager( RenderingManager.class ).beautifyTitle("TestPage/TestAtt.txt")+"]"; @@ -1311,7 +1313,7 @@ public class JSPWikiMarkupParserTest props.setProperty( "jspwiki.translatorReader.allowHTML", "true" ); testEngine = new TestEngine( props ); - final WikiPage page = new WikiPage(testEngine,PAGE_NAME); + final Page page = Wiki.contents().page(testEngine,PAGE_NAME); final String out = translate( testEngine, page, src ); @@ -1327,7 +1329,7 @@ public class JSPWikiMarkupParserTest props.setProperty( "jspwiki.translatorReader.allowHTML", "true" ); testEngine = new TestEngine( props ); - final WikiPage page = new WikiPage(testEngine,PAGE_NAME); + final Page page = Wiki.contents().page(testEngine,PAGE_NAME); final String out = translate( testEngine, page, src ); @@ -2376,7 +2378,7 @@ public class JSPWikiMarkupParserTest { String src = "Foobar.[{ALLOW view JanneJalkanen}]"; - WikiPage p = new WikiPage( PAGE_NAME ); + WikiPage p = Wiki.contents().page( PAGE_NAME ); String res = translate( p, src ); @@ -2397,7 +2399,7 @@ public class JSPWikiMarkupParserTest String src = "Foobar.[{ALLOW view JanneJalkanen}]\n"+ "[{ALLOW edit JanneJalkanen, SuloVilen}]"; - WikiPage p = new WikiPage( PAGE_NAME ); + WikiPage p = Wiki.contents().page( PAGE_NAME ); String res = translate( p, src ); @@ -2444,7 +2446,7 @@ public class JSPWikiMarkupParserTest { final String src = "Foobar.[{SET name=foo}]"; - final WikiPage p = new WikiPage( testEngine, PAGE_NAME ); + final Page p = Wiki.contents().page( testEngine, PAGE_NAME ); final String res = translate( p, src ); @@ -2459,7 +2461,7 @@ public class JSPWikiMarkupParserTest { final String src = "Foobar.[{SET name = foo}]"; - final WikiPage p = new WikiPage( testEngine, PAGE_NAME ); + final Page p = Wiki.contents().page( testEngine, PAGE_NAME ); final String res = translate( p, src ); @@ -2474,7 +2476,7 @@ public class JSPWikiMarkupParserTest { final String src = "Foobar.[{SET name= Janne Jalkanen}]"; - final WikiPage p = new WikiPage( testEngine, PAGE_NAME ); + final Page p = Wiki.contents().page( testEngine, PAGE_NAME ); final String res = translate( p, src ); @@ -2489,7 +2491,7 @@ public class JSPWikiMarkupParserTest { final String src = "Foobar.[{SET name='Janne Jalkanen'}][{SET too='{$name}'}]"; - final WikiPage p = new WikiPage( testEngine, PAGE_NAME ); + final Page p = Wiki.contents().page( testEngine, PAGE_NAME ); final String res = translate( p, src ); @@ -2505,7 +2507,7 @@ public class JSPWikiMarkupParserTest { final String src = "Foobar.[{SET name='<b>danger</b>'}] [{$name}]"; - final WikiPage p = new WikiPage( testEngine, PAGE_NAME ); + final Page p = Wiki.contents().page( testEngine, PAGE_NAME ); final String res = translate( p, src ); @@ -2526,7 +2528,7 @@ public class JSPWikiMarkupParserTest final LinkCollector coll = new LinkCollector(); final String src = "[Test]"; final WikiContext context = new WikiContext( testEngine, - new WikiPage(testEngine,PAGE_NAME) ); + Wiki.contents().page(testEngine,PAGE_NAME) ); final MarkupParser p = new JSPWikiMarkupParser( context, new BufferedReader( new StringReader(src)) ); @@ -2550,7 +2552,7 @@ public class JSPWikiMarkupParserTest final String src = "["+PAGE_NAME+"/Test.txt]"; final WikiContext context = new WikiContext( testEngine, - new WikiPage(testEngine,PAGE_NAME) ); + Wiki.contents().page(testEngine,PAGE_NAME) ); final MarkupParser p = new JSPWikiMarkupParser( context, new BufferedReader( new StringReader(src)) ); @@ -2575,7 +2577,7 @@ public class JSPWikiMarkupParserTest try { testEngine.saveText( PAGE_NAME, "content" ); - final Attachment att = new Attachment( testEngine, PAGE_NAME, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( testEngine, PAGE_NAME, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); testEngine.getManager( AttachmentManager.class ).storeAttachment( att, testEngine.makeAttachmentFile() ); @@ -2584,7 +2586,7 @@ public class JSPWikiMarkupParserTest final String src = "[TestAtt.txt]"; final WikiContext context = new WikiContext( testEngine, - new WikiPage(testEngine,PAGE_NAME) ); + Wiki.contents().page(testEngine,PAGE_NAME) ); final MarkupParser p = new JSPWikiMarkupParser( context, new BufferedReader( new StringReader(src)) ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java index 5e6a249..94d5a75 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java @@ -16,18 +16,12 @@ specific language governing permissions and limitations under the License. */ - package org.apache.wiki.plugin; -import java.io.IOException; -import java.io.StringReader; -import java.util.Properties; - -import javax.servlet.ServletException; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.NoRequiredPropertyException; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.parser.JSPWikiMarkupParser; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.parser.WikiDocument; @@ -37,6 +31,11 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import javax.servlet.ServletException; +import java.io.IOException; +import java.io.StringReader; +import java.util.Properties; + public class CounterPluginTest { Properties props = TestEngine.getTestProperties(); @@ -49,19 +48,18 @@ public class CounterPluginTest testEngine = new TestEngine(props); } - private String translate( String src ) + private String translate( final String src ) throws IOException, NoRequiredPropertyException, ServletException { - WikiContext context = new WikiContext( testEngine, - new WikiPage(testEngine, "TestPage") ); + final Context context = Wiki.context().create( testEngine, Wiki.contents().page(testEngine, "TestPage") ); - MarkupParser p = new JSPWikiMarkupParser( context, new StringReader(src) ); + final MarkupParser p = new JSPWikiMarkupParser( context, new StringReader(src) ); - WikiDocument dom = p.parse(); + final WikiDocument dom = p.parse(); - WikiRenderer r = new XHTMLRenderer( context, dom ); + final WikiRenderer r = new XHTMLRenderer( context, dom ); return r.getString(); } @@ -70,7 +68,7 @@ public class CounterPluginTest public void testSimpleCount() throws Exception { - String src = "[{Counter}], [{Counter}]"; + final String src = "[{Counter}], [{Counter}]"; Assertions.assertEquals( "1, 2", translate(src) ); } @@ -79,7 +77,7 @@ public class CounterPluginTest public void testSimpleVar() throws Exception { - String src = "[{Counter}], [{Counter}], [{$counter}]"; + final String src = "[{Counter}], [{Counter}], [{$counter}]"; Assertions.assertEquals( "1, 2, 2", translate(src) ); @@ -89,7 +87,7 @@ public class CounterPluginTest public void testTwinVar() throws Exception { - String src = "[{Counter}], [{Counter name=aa}], [{$counter-aa}]"; + final String src = "[{Counter}], [{Counter name=aa}], [{$counter-aa}]"; Assertions.assertEquals( "1, 1, 1", translate(src) ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java index cbd97a0..015f686 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java @@ -22,8 +22,8 @@ package org.apache.wiki.plugin; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; import org.apache.wiki.render.RenderingManager; import org.junit.jupiter.api.AfterEach; @@ -43,7 +43,7 @@ public class DefaultPluginManagerTest { @BeforeEach public void setUp() throws Exception { - context = new WikiContext( engine, new WikiPage(engine, "Testpage") ); + context = new WikiContext( engine, Wiki.contents().page(engine, "Testpage") ); } @AfterEach diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java index 43455b8..6a8506b 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java @@ -21,7 +21,6 @@ package org.apache.wiki.plugin; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.AfterEach; @@ -64,7 +63,7 @@ public class RecentChangesPluginTest { */ @Test public void testSimple() throws Exception { - context = Wiki.context().create(testEngine, new WikiPage(testEngine, "TestPage01")); + context = Wiki.context().create(testEngine, Wiki.contents().page(testEngine, "TestPage01")); final String res = manager.execute(context, "{INSERT org.apache.wiki.plugin.RecentChangesPlugin}"); @@ -83,7 +82,7 @@ public class RecentChangesPluginTest { */ @Test public void testParmInClude() throws Exception { - context = Wiki.context().create(testEngine, new WikiPage(testEngine, "TestPage02")); + context = Wiki.context().create(testEngine, Wiki.contents().page(testEngine, "TestPage02")); final String res = manager.execute( context, "{INSERT org.apache.wiki.plugin.RecentChangesPlugin include='TestPage02*'}" ); @@ -100,7 +99,7 @@ public class RecentChangesPluginTest { */ @Test public void testParmExClude() throws Exception { - context = Wiki.context().create(testEngine, new WikiPage(testEngine, "TestPage03")); + context = Wiki.context().create(testEngine, Wiki.contents().page(testEngine, "TestPage03")); final String res = manager.execute( context, "{INSERT org.apache.wiki.plugin.RecentChangesPlugin exclude='TestPage03*'}" ); @@ -118,7 +117,7 @@ public class RecentChangesPluginTest { */ @Test public void testNoRecentChanges() throws Exception { - context = Wiki.context().create(testEngine, new WikiPage(testEngine, "TestPage04")); + context = Wiki.context().create(testEngine, Wiki.contents().page(testEngine, "TestPage04")); final String res = manager.execute( context, "{INSERT org.apache.wiki.plugin.RecentChangesPlugin since='-1'}" ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java index 34aa905..1512cbf 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java @@ -21,7 +21,6 @@ package org.apache.wiki.plugin; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.spi.Wiki; @@ -56,7 +55,7 @@ public class ReferringPagesPluginTest engine.saveText( "Foobar6", "Reference to [TestPage]." ); engine.saveText( "Foobar7", "Reference to [TestPage]." ); - context = new WikiContext( engine, engine.newHttpRequest(), new WikiPage(engine,"TestPage") ); + context = new WikiContext( engine, engine.newHttpRequest(), Wiki.contents().page( engine, "TestPage" ) ); manager = new DefaultPluginManager( engine, props ); } @@ -84,7 +83,7 @@ public class ReferringPagesPluginTest @Test public void testSingleReferral() throws Exception { - final Context context2 = Wiki.context().create( engine, new WikiPage(engine, "Foobar") ); + final Context context2 = Wiki.context().create( engine, Wiki.contents().page(engine, "Foobar") ); final String res = manager.execute( context2, "{INSERT org.apache.wiki.plugin.ReferringPagesPlugin WHERE max=5}"); @@ -121,7 +120,7 @@ public class ReferringPagesPluginTest @Test public void testReferenceWidth() throws Exception { - final Context context2 = Wiki.context().create( engine, new WikiPage(engine, "Foobar") ); + final Context context2 = Wiki.context().create( engine, Wiki.contents().page(engine, "Foobar") ); final String res = manager.execute( context2, "{INSERT org.apache.wiki.plugin.ReferringPagesPlugin WHERE maxwidth=5}"); Assertions.assertEquals( mkFullLink( "TestP...", "TestPage" )+"<br />", res ); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java index 988c80f..846fa0e 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java @@ -20,7 +20,6 @@ package org.apache.wiki.plugin; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.AfterEach; @@ -50,7 +49,7 @@ public class ReferringUndefinedPagesPluginTest { testEngine.saveText("TestPage02", "Some Text for testing 02 which refers [NonExistingPageB] "); testEngine.saveText("TestPage03", "Some Text for testing 03 which refers [NonExistingPageC] "); - context = Wiki.context().create( testEngine, testEngine.newHttpRequest(), new WikiPage(testEngine,"TestPage") ); + context = Wiki.context().create( testEngine, testEngine.newHttpRequest(), Wiki.contents().page(testEngine,"TestPage") ); manager = new DefaultPluginManager( testEngine, props ); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java index dac7843..54a949e 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java @@ -21,7 +21,6 @@ package org.apache.wiki.plugin; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.spi.Wiki; @@ -49,7 +48,7 @@ public class UndefinedPagesPluginTest { testEngine.saveText( "TestPage", "Reference to [Foobar]." ); testEngine.saveText( "Foobar", "Reference to [Foobar 2], [Foobars]" ); - context = Wiki.context().create( testEngine, new WikiPage(testEngine, "TestPage") ); + context = Wiki.context().create( testEngine, Wiki.contents().page(testEngine, "TestPage") ); manager = new DefaultPluginManager( testEngine, props ); } @@ -71,7 +70,7 @@ public class UndefinedPagesPluginTest { */ @Test public void testSimpleUndefined() throws Exception { - final Context context2 = Wiki.context().create( testEngine, new WikiPage( testEngine, "Foobar" ) ); + final Context context2 = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, "Foobar" ) ); final String res = manager.execute( context2,"{INSERT org.apache.wiki.plugin.UndefinedPagesPlugin" ); final String exp = "[Foobar 2]\\\\"; diff --git a/jspwiki-main/src/test/java/org/apache/wiki/providers/BasicAttachmentProviderTest.java b/jspwiki-main/src/test/java/org/apache/wiki/providers/BasicAttachmentProviderTest.java index 185fc08..82b89bf 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/providers/BasicAttachmentProviderTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/providers/BasicAttachmentProviderTest.java @@ -16,12 +16,12 @@ specific language governing permissions and limitations under the License. */ - package org.apache.wiki.providers; import org.apache.wiki.TestEngine; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.util.FileUtil; import org.awaitility.Awaitility; import org.awaitility.core.ConditionFactory; @@ -121,7 +121,7 @@ public class BasicAttachmentProviderTest { @Test public void testPutAttachmentUTF8() throws Exception { final File in = makeAttachmentFile(); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "\u3072\u3048\u308b\u00e5\u00e4\u00f6test.f\u00fc\u00fc" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "\u3072\u3048\u308b\u00e5\u00e4\u00f6test.f\u00fc\u00fc" ); m_provider.putAttachmentData( att, new FileInputStream(in) ); final List< Attachment > res = m_provider.listAllChanged( new Date(0L) ); @@ -132,7 +132,7 @@ public class BasicAttachmentProviderTest { @Test public void testGetAttachmentDataRaisesProviderExceptionIfInexistentFileOnDisk() { - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); Assertions.assertThrows( ProviderException.class, () -> m_provider.getAttachmentData( att ) ); } @@ -162,12 +162,12 @@ public class BasicAttachmentProviderTest { @Test public void testListAll() throws Exception { final File in = makeAttachmentFile(); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); m_provider.putAttachmentData( att, new FileInputStream(in) ); awaitility().await( "testListAll" ).until( attachmentIsSaved( att ) ); - final Attachment att2 = new org.apache.wiki.attachment.Attachment( m_engine, NAME2, "test2.txt" ); + final Attachment att2 = Wiki.contents().attachment( m_engine, NAME2, "test2.txt" ); m_provider.putAttachmentData( att2, new FileInputStream(in) ); final List< Attachment > res = m_provider.listAllChanged( new Date(0L) ); @@ -191,12 +191,12 @@ public class BasicAttachmentProviderTest { final File sDir = new File(m_engine.getWikiProperties().getProperty( BasicAttachmentProvider.PROP_STORAGEDIR ) ); makeExtraFile( sDir, "foobar.blob" ); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); m_provider.putAttachmentData( att, new FileInputStream(in) ); awaitility().await( "testListAllExtrafile" ).until( attachmentIsSaved( att ) ); - final Attachment att2 = new org.apache.wiki.attachment.Attachment( m_engine, NAME2, "test2.txt" ); + final Attachment att2 = Wiki.contents().attachment( m_engine, NAME2, "test2.txt" ); m_provider.putAttachmentData( att2, new FileInputStream(in) ); final List< Attachment > res = m_provider.listAllChanged( new Date(0L) ); @@ -219,13 +219,13 @@ public class BasicAttachmentProviderTest { final File sDir = new File( m_engine.getWikiProperties().getProperty( BasicAttachmentProvider.PROP_STORAGEDIR ) ); final File attDir = new File( sDir, NAME1+"-att" ); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); m_provider.putAttachmentData( att, new FileInputStream(in) ); makeExtraFile( attDir, "ping.pong" ); awaitility().await( "testListAllExtrafileInAttachmentDir" ).until( attachmentIsSaved( att ) ); - final Attachment att2 = new org.apache.wiki.attachment.Attachment( m_engine, NAME2, "test2.txt" ); + final Attachment att2 = Wiki.contents().attachment( m_engine, NAME2, "test2.txt" ); m_provider.putAttachmentData( att2, new FileInputStream(in) ); @@ -248,7 +248,7 @@ public class BasicAttachmentProviderTest { final File in = makeAttachmentFile(); final File sDir = new File(m_engine.getWikiProperties().getProperty( BasicAttachmentProvider.PROP_STORAGEDIR )); final File attDir = new File( sDir, NAME1+"-att" ); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1.txt" ); m_provider.putAttachmentData( att, new FileInputStream(in) ); // This is our extraneous directory. @@ -257,7 +257,7 @@ public class BasicAttachmentProviderTest { awaitility().await( "testListAllExtradirInAttachmentDir" ).until( attachmentIsSaved( att ) ); - final Attachment att2 = new org.apache.wiki.attachment.Attachment( m_engine, NAME2, "test2.txt" ); + final Attachment att2 = Wiki.contents().attachment( m_engine, NAME2, "test2.txt" ); m_provider.putAttachmentData( att2, new FileInputStream(in) ); @@ -275,12 +275,12 @@ public class BasicAttachmentProviderTest { @Test public void testListAllNoExtension() throws Exception { final File in = makeAttachmentFile(); - final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, NAME1, "test1." ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "test1." ); m_provider.putAttachmentData( att, new FileInputStream(in) ); awaitility().await( "testListAllNoExtension" ).until( attachmentIsSaved( att ) ); - final Attachment att2 = new org.apache.wiki.attachment.Attachment( m_engine, NAME2, "test2." ); + final Attachment att2 = Wiki.contents().attachment( m_engine, NAME2, "test2." ); m_provider.putAttachmentData( att2, new FileInputStream(in) ); final List< Attachment > res = m_provider.listAllChanged( new Date( 0L ) ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/providers/CounterProvider.java b/jspwiki-main/src/test/java/org/apache/wiki/providers/CounterProvider.java index 624d7d1..0562cf6 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/providers/CounterProvider.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/providers/CounterProvider.java @@ -18,13 +18,13 @@ */ package org.apache.wiki.providers; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.search.QueryItem; import org.apache.wiki.api.search.SearchResult; +import org.apache.wiki.api.spi.Wiki; import java.util.ArrayList; import java.util.Collection; @@ -45,26 +45,25 @@ public class CounterProvider implements PageProvider { public int m_getAllPagesCalls = 0; public int m_initCalls = 0; - WikiPage[] m_pages = new WikiPage[0]; + Page[] m_pages = new Page[0]; String m_defaultText = "[Foo], [Bar], [Blat], [Blah]"; @Override public void initialize( final Engine engine, final Properties props ) { - m_pages = new WikiPage[] - { new WikiPage(engine, "Foo"), - new WikiPage(engine, "Bar"), - new WikiPage(engine, "Blat"), - new WikiPage(engine, "Blaa") }; + m_pages = new Page[] + { Wiki.contents().page( engine, "Foo" ), + Wiki.contents().page( engine, "Bar" ), + Wiki.contents().page( engine, "Blat" ), + Wiki.contents().page( engine, "Blaa" ) }; m_initCalls++; - - for( int i = 0; i < m_pages.length; i++ ) - { - m_pages[i].setAuthor("Unknown"); - m_pages[i].setLastModified( new Date(0L) ); - m_pages[i].setVersion(1); + + for( final Page m_page : m_pages ) { + m_page.setAuthor( "Unknown" ); + m_page.setLastModified( new Date( 0L ) ); + m_page.setVersion( 1 ); } } @@ -98,7 +97,7 @@ public class CounterProvider implements PageProvider { } private Page findPage( final String page ) { - for( final WikiPage m_page : m_pages ) { + for( final Page m_page : m_pages ) { if( m_page.getName().equals( page ) ) { return m_page; } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/providers/VersioningFileProviderTest.java b/jspwiki-main/src/test/java/org/apache/wiki/providers/VersioningFileProviderTest.java index ca4d632..19fe39e 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/providers/VersioningFileProviderTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/providers/VersioningFileProviderTest.java @@ -529,7 +529,7 @@ public class VersioningFileProviderTest public void testChangeNote() throws Exception { - final WikiPage p = new WikiPage( engine, NAME1 ); + final Page p = Wiki.contents().page( engine, NAME1 ); p.setAttribute(Page.CHANGENOTE, "Test change" ); final Context context = Wiki.context().create(engine,p); @@ -544,7 +544,7 @@ public class VersioningFileProviderTest public void testChangeNoteOldVersion() throws Exception { - final Page p = new WikiPage( engine, NAME1 ); + final Page p = Wiki.contents().page( engine, NAME1 ); final Context context = Wiki.context().create(engine,p); @@ -567,7 +567,7 @@ public class VersioningFileProviderTest @Test public void testChangeNoteOldVersion2() throws Exception { - final Page p = new WikiPage( engine, NAME1 ); + final Page p = Wiki.contents().page( engine, NAME1 ); final Context context = Wiki.context().create(engine,p); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/providers/VerySimpleProvider.java b/jspwiki-main/src/test/java/org/apache/wiki/providers/VerySimpleProvider.java index e91cb08..438048c 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/providers/VerySimpleProvider.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/providers/VerySimpleProvider.java @@ -18,13 +18,13 @@ */ package org.apache.wiki.providers; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.providers.PageProvider; import org.apache.wiki.api.search.QueryItem; import org.apache.wiki.api.search.SearchResult; +import org.apache.wiki.api.spi.Wiki; import java.util.ArrayList; import java.util.Collection; @@ -96,7 +96,7 @@ public class VerySimpleProvider implements PageProvider { m_latestReq = page; m_latestVers = version; - final Page p = new WikiPage( m_engine, page ); + final Page p = Wiki.contents().page( m_engine, page ); p.setVersion( 5 ); p.setAuthor( AUTHOR ); p.setLastModified( new Date(0L) ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/references/ReferenceManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/references/ReferenceManagerTest.java index a438df5..ab798f6 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/references/ReferenceManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/references/ReferenceManagerTest.java @@ -15,8 +15,8 @@ package org.apache.wiki.references; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.exceptions.WikiException; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; @@ -317,7 +317,7 @@ public class ReferenceManagerTest { @Test public void testReadLinks() { final String src="Foobar. [Foobar]. Frobozz. [This is a link]."; - final Object[] result = mgr.scanWikiLinks( new WikiPage( engine, "Test"), src ).toArray(); + final Object[] result = mgr.scanWikiLinks( Wiki.contents().page( engine, "Test"), src ).toArray(); Assertions.assertEquals( "Foobar", result[0], "item 0" ); Assertions.assertEquals( "This is a link", result[1], "item 1" ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/render/CreoleRendererTest.java b/jspwiki-main/src/test/java/org/apache/wiki/render/CreoleRendererTest.java index 0ab26c0..da1a4c1 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/render/CreoleRendererTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/render/CreoleRendererTest.java @@ -18,19 +18,20 @@ */ package org.apache.wiki.render; -import java.io.IOException; -import java.io.StringReader; -import java.util.Properties; - import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Context; +import org.apache.wiki.api.core.Page; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.parser.JSPWikiMarkupParser; import org.apache.wiki.parser.WikiDocument; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.io.IOException; +import java.io.StringReader; +import java.util.Properties; + public class CreoleRendererTest { protected TestEngine m_testEngine; @@ -38,21 +39,21 @@ public class CreoleRendererTest @BeforeEach public void setUp() throws Exception { - Properties props = TestEngine.getTestProperties(); + final Properties props = TestEngine.getTestProperties(); m_testEngine = new TestEngine(props); } - private String render(String s) throws IOException + private String render( final String s) throws IOException { - WikiPage dummyPage = new WikiPage(m_testEngine,"TestPage"); - WikiContext ctx = new WikiContext(m_testEngine,dummyPage); + final Page dummyPage = Wiki.contents().page(m_testEngine,"TestPage"); + final Context ctx = Wiki.context().create(m_testEngine,dummyPage); - StringReader in = new StringReader(s); + final StringReader in = new StringReader(s); - JSPWikiMarkupParser p = new JSPWikiMarkupParser( ctx, in ); - WikiDocument d = p.parse(); + final JSPWikiMarkupParser p = new JSPWikiMarkupParser( ctx, in ); + final WikiDocument d = p.parse(); - CreoleRenderer cr = new CreoleRenderer( ctx, d ); + final CreoleRenderer cr = new CreoleRenderer( ctx, d ); return cr.getString(); } @@ -60,7 +61,7 @@ public class CreoleRendererTest @Test public void testItalic() throws Exception { - String src = "123 ''test'' 456"; + final String src = "123 ''test'' 456"; Assertions.assertEquals( "123 //test// 456", render(src) ); } @@ -68,7 +69,7 @@ public class CreoleRendererTest @Test public void testBold() throws Exception { - String src = "123 __test__ 456"; + final String src = "123 __test__ 456"; Assertions.assertEquals( "123 **test** 456", render(src) ); } @@ -76,7 +77,7 @@ public class CreoleRendererTest @Test public void testBoldItalic() throws Exception { - String src = "123 __''test''__ 456"; + final String src = "123 __''test''__ 456"; Assertions.assertEquals( "123 **//test//** 456", render(src) ); } @@ -84,7 +85,7 @@ public class CreoleRendererTest @Test public void testList() throws Exception { - String src = "*one\r\n**two\r\n**three\r\n*four"; + final String src = "*one\r\n**two\r\n**three\r\n*four"; Assertions.assertEquals( "* one\n** two\n** three\n* four", render(src) ); } @@ -92,7 +93,7 @@ public class CreoleRendererTest @Test public void testList2() throws Exception { - String src = "* one\r\n** two\r\n** three\r\n* four"; + final String src = "* one\r\n** two\r\n** three\r\n* four"; Assertions.assertEquals( "* one\n** two\n** three\n* four", render(src) ); } @@ -100,7 +101,7 @@ public class CreoleRendererTest @Test public void testList3() throws Exception { - String src = "*one\r\n**two\r\n**three\r\n*four"; + final String src = "*one\r\n**two\r\n**three\r\n*four"; Assertions.assertEquals( "* one\n** two\n** three\n* four", render(src) ); } @@ -108,7 +109,7 @@ public class CreoleRendererTest @Test public void testList4() throws Exception { - String src = "# one\r\n## two\r\n## three\r\n#four"; + final String src = "# one\r\n## two\r\n## three\r\n#four"; Assertions.assertEquals( "# one\n## two\n## three\n# four", render(src) ); } @@ -126,7 +127,7 @@ public class CreoleRendererTest @Test public void testInlineImages() throws Exception { - String src = "Testing [{Image src='http://test/image.png'}] plugin."; + final String src = "Testing [{Image src='http://test/image.png'}] plugin."; Assertions.assertEquals( "Testing {{http://test/image.png}} plugin.", render(src) ); } @@ -134,7 +135,7 @@ public class CreoleRendererTest @Test public void testPlugins() throws Exception { - String src = "[{Counter}] [{Counter}]"; + final String src = "[{Counter}] [{Counter}]"; Assertions.assertEquals( "<<Counter 1>> <<Counter 2>>", render(src) ); } @@ -167,7 +168,7 @@ public class CreoleRendererTest @Test public void testExternalAnchor() throws Exception { - String src = "[http://jspwiki.apache.org]"; + final String src = "[http://jspwiki.apache.org]"; Assertions.assertEquals( "[[http://jspwiki.apache.org]]", render(src) ); } @@ -175,7 +176,7 @@ public class CreoleRendererTest @Test public void testExternalAnchor2() throws Exception { - String src = "[JSPWiki|http://jspwiki.apache.org]"; + final String src = "[JSPWiki|http://jspwiki.apache.org]"; Assertions.assertEquals( "[[http://jspwiki.apache.org|JSPWiki]]", render(src) ); } @@ -183,7 +184,7 @@ public class CreoleRendererTest @Test public void testLineBreak() throws Exception { - String src = "a\nb\nc"; + final String src = "a\nb\nc"; Assertions.assertEquals("a\nb\nc", render(src)); } @@ -191,7 +192,7 @@ public class CreoleRendererTest @Test public void testPre() throws Exception { - String src = "{{{\n test __foo__ \n}}}"; + final String src = "{{{\n test __foo__ \n}}}"; Assertions.assertEquals("{{{\n test __foo__ \n}}}", render(src)); } @@ -199,7 +200,7 @@ public class CreoleRendererTest @Test public void testRule() throws Exception { - String src = "a\n----\nb"; + final String src = "a\n----\nb"; Assertions.assertEquals("a\n----\nb", render(src)); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/render/WysiwygEditingRendererTest.java b/jspwiki-main/src/test/java/org/apache/wiki/render/WysiwygEditingRendererTest.java index 47ef3e0..dadf54f 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/render/WysiwygEditingRendererTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/render/WysiwygEditingRendererTest.java @@ -19,7 +19,6 @@ package org.apache.wiki.render; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; import org.apache.wiki.api.spi.Wiki; @@ -50,7 +49,7 @@ public class WysiwygEditingRendererTest { } private String render( final String s ) throws IOException { - final Page dummyPage = new WikiPage(testEngine,"TestPage"); + final Page dummyPage = Wiki.contents().page(testEngine,"TestPage"); final Context ctx = Wiki.context().create(testEngine,dummyPage); final StringReader in = new StringReader(s); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/ui/InputValidatorTest.java b/jspwiki-main/src/test/java/org/apache/wiki/ui/InputValidatorTest.java index d685af7..d7b6fb3 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/ui/InputValidatorTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/ui/InputValidatorTest.java @@ -21,16 +21,16 @@ * */ package org.apache.wiki.ui; -import java.util.Properties; -import java.util.regex.Pattern; - import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.Properties; +import java.util.regex.Pattern; + public class InputValidatorTest { TestEngine testEngine; @@ -42,16 +42,16 @@ public class InputValidatorTest @BeforeEach public void setUp() throws Exception { - Properties props = TestEngine.getTestProperties(); + final Properties props = TestEngine.getTestProperties(); testEngine = new TestEngine( props ); - WikiContext context = new WikiContext( testEngine, new WikiPage(testEngine,"dummyPage")); + final WikiContext context = new WikiContext( testEngine, Wiki.contents().page(testEngine,"dummyPage")); val = new InputValidator( TEST, context ); } @Test public void testUnsafePattern() { - Pattern unsafe = InputValidator.UNSAFE_PATTERN; + final Pattern unsafe = InputValidator.UNSAFE_PATTERN; Assertions.assertFalse( unsafe.matcher( "a b c d e f g" ).find() ); Assertions.assertTrue( unsafe.matcher( "<a> b c d e f g" ).find() ); Assertions.assertTrue( unsafe.matcher( "foo$" ).find() ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/FilterBeanTest.java b/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/FilterBeanTest.java index 47bf236..5d5a359 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/FilterBeanTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/FilterBeanTest.java @@ -18,38 +18,31 @@ */ package org.apache.wiki.ui.admin.beans; -import org.junit.jupiter.api.Test; - -import java.util.Properties; - -import javax.management.NotCompliantMBeanException; - import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.WikiException; - +import org.apache.wiki.api.spi.Wiki; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import javax.management.NotCompliantMBeanException; -public class FilterBeanTest { - Properties props = TestEngine.getTestProperties(); +public class FilterBeanTest { - TestEngine testEngine; + TestEngine testEngine = TestEngine.build(); @Test public void testDoGet() throws WikiException, NotCompliantMBeanException { - testEngine = new TestEngine( props ); - WikiContext context = new WikiContext( testEngine, new WikiPage( testEngine, "TestPage01" ) ); - FilterBean pb = new FilterBean( testEngine ); - String expectedHtml = "<div>" + - "<h4>Filters</h4>" + - "<table border=\"1\">" + - "<tr><th>Name</th><th>Author</th><th>Notes</th></tr>" + - "<tr><td>org.apache.wiki.filters.SpamFilter</td><td>Janne Jalkanen</td><td></td></tr>" + - "</table>" + - "</div>"; + final Context context = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, "TestPage01" ) ); + final FilterBean pb = new FilterBean( testEngine ); + final String expectedHtml = "<div>" + + "<h4>Filters</h4>" + + "<table border=\"1\">" + + "<tr><th>Name</th><th>Author</th><th>Notes</th></tr>" + + "<tr><td>org.apache.wiki.filters.SpamFilter</td><td>Janne Jalkanen</td><td></td></tr>" + + "</table>" + + "</div>"; Assertions.assertEquals( expectedHtml, pb.doGet( context ) ); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/PluginBeanTest.java b/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/PluginBeanTest.java index 8d14153..bfa7f67 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/PluginBeanTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/ui/admin/beans/PluginBeanTest.java @@ -18,18 +18,15 @@ */ package org.apache.wiki.ui.admin.beans; +import org.apache.wiki.TestEngine; +import org.apache.wiki.api.core.Context; +import org.apache.wiki.api.exceptions.WikiException; +import org.apache.wiki.api.spi.Wiki; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.util.Properties; - import javax.management.NotCompliantMBeanException; - -import org.junit.jupiter.api.Assertions; - -import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; -import org.apache.wiki.api.exceptions.WikiException; +import java.util.Properties; public class PluginBeanTest { @@ -41,18 +38,18 @@ public class PluginBeanTest { @Test public void testDoGet() throws WikiException, NotCompliantMBeanException { testEngine = new TestEngine( props ); - WikiContext context = new WikiContext( testEngine, new WikiPage( testEngine, "TestPage01" ) ); - PluginBean pb = new PluginBean( testEngine ); - String expectedHtml = "<div>" + - "<h4>Plugins</h4>" + - "<table border=\"1\">" + - "<tr><th>Name</th><th>Alias</th><th>Author</th><th>Notes</th></tr>" + - "<tr><td>IfPlugin</td><td>If</td><td>Janne Jalkanen</td><td></td></tr>" + - "<tr><td>Note</td><td></td><td>Janne Jalkanen</td><td></td></tr>" + - "<tr><td>SamplePlugin</td><td>samplealias</td><td>Janne Jalkanen</td><td></td></tr>" + - "<tr><td>SamplePlugin2</td><td>samplealias2</td><td>Janne Jalkanen</td><td></td></tr>" + - "</table>" + - "</div>"; + final Context context = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, "TestPage01" ) ); + final PluginBean pb = new PluginBean( testEngine ); + final String expectedHtml = "<div>" + + "<h4>Plugins</h4>" + + "<table border=\"1\">" + + "<tr><th>Name</th><th>Alias</th><th>Author</th><th>Notes</th></tr>" + + "<tr><td>IfPlugin</td><td>If</td><td>Janne Jalkanen</td><td></td></tr>" + + "<tr><td>Note</td><td></td><td>Janne Jalkanen</td><td></td></tr>" + + "<tr><td>SamplePlugin</td><td>samplealias</td><td>Janne Jalkanen</td><td></td></tr>" + + "<tr><td>SamplePlugin2</td><td>samplealias2</td><td>Janne Jalkanen</td><td></td></tr>" + + "</table>" + + "</div>"; Assertions.assertEquals( expectedHtml, pb.doGet( context ) ); } diff --git a/jspwiki-main/src/test/java/org/apache/wiki/variables/DefaultVariableManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/variables/DefaultVariableManagerTest.java index ad79d3c..ae68d60 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/variables/DefaultVariableManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/variables/DefaultVariableManagerTest.java @@ -20,7 +20,6 @@ package org.apache.wiki.variables; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiPage; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.exceptions.NoSuchVariableException; import org.apache.wiki.api.spi.Wiki; @@ -40,7 +39,7 @@ public class DefaultVariableManagerTest { public static void setUp() { final TestEngine testEngine = TestEngine.build(); m_variableManager = new DefaultVariableManager( TestEngine.getTestProperties() ); - m_context = Wiki.context().create( testEngine, new WikiPage( testEngine, PAGE_NAME ) ); + m_context = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, PAGE_NAME ) ); } @Test diff --git a/jspwiki-main/src/test/java/org/apache/wiki/xmlrpc/RPCHandlerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/xmlrpc/RPCHandlerTest.java index 94a0250..c39802e 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/xmlrpc/RPCHandlerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/xmlrpc/RPCHandlerTest.java @@ -21,10 +21,10 @@ package org.apache.wiki.xmlrpc; import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; -import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Attachment; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; -import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.pages.PageManager; import org.apache.xmlrpc.XmlRpcException; @@ -55,7 +55,7 @@ public class RPCHandlerTest m_engine = new TestEngine( m_props ); m_handler = new RPCHandler(); - final WikiContext ctx = new WikiContext( m_engine, new WikiPage(m_engine, "Dummy") ); + final Context ctx = Wiki.context().create( m_engine, Wiki.contents().page(m_engine, "Dummy") ); m_handler.initialize( ctx ); } @@ -104,7 +104,7 @@ public class RPCHandlerTest final Vector previousChanges = m_handler.getRecentChanges( time ); m_engine.saveText( NAME1, "Foo" ); - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); m_engine.getManager( AttachmentManager.class ).storeAttachment( att, m_engine.makeAttachmentFile() ); final Page directInfo = m_engine.getManager( PageManager.class ).getPage( NAME1 ); @@ -175,7 +175,7 @@ public class RPCHandlerTest m_engine.saveText( pageName, text ); - final Attachment att = new Attachment( m_engine, NAME1, "TestAtt.txt" ); + final Attachment att = Wiki.contents().attachment( m_engine, NAME1, "TestAtt.txt" ); att.setAuthor( "FirstPost" ); m_engine.getManager( AttachmentManager.class ).storeAttachment( att, m_engine.makeAttachmentFile() );
