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

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

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

    JSPWIKI-120: propagate WikiContext#getEngine() now returns Engine instead of WikiEngine (12)
---
 .../LocalLinkAttributeProviderState.java           |  8 ++---
 .../AccessRuleLinkNodePostProcessorState.java      |  6 ++--
 .../LocalLinkNodePostProcessorState.java           |  3 +-
 .../MetadataLinkNodePostProcessorState.java        |  3 +-
 .../VariableLinkNodePostProcessorState.java        |  3 +-
 .../wiki/parser/markdown/MarkdownParser.java       | 35 ++++++++++++----------
 .../apache/wiki/render/MarkdownRendererTest.java   |  5 ++--
 7 files changed, 36 insertions(+), 27 deletions(-)

diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/LocalLinkAttributeProviderState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/LocalLinkAttributeProviderState.java
index ca53961..48c749c 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/LocalLinkAttributeProviderState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/LocalLinkAttributeProviderState.java
@@ -19,14 +19,14 @@
 package org.apache.wiki.markdown.extensions.jspwikilinks.attributeprovider;
 
 import com.vladsch.flexmark.util.ast.Node;
+import com.vladsch.flexmark.util.html.Attributes;
+import com.vladsch.flexmark.util.sequence.CharSubSequence;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
 import org.apache.wiki.parser.LinkParsingOperations;
 import org.apache.wiki.parser.MarkupParser;
 
-import com.vladsch.flexmark.util.html.Attributes;
-import com.vladsch.flexmark.util.sequence.CharSubSequence;
-
 
 /**
  * {@link NodeAttributeProviderState} which sets the attributes for local links.
@@ -51,7 +51,7 @@ public class LocalLinkAttributeProviderState implements NodeAttributeProviderSta
     @Override
     public void setAttributes( final Attributes attributes, final JSPWikiLink link ) {
         final int hashMark = link.getUrl().toString().indexOf( '#' );
-        final String attachment = wikiContext.getEngine().getAttachmentManager().getAttachmentInfoName( wikiContext, link.getWikiLink() );
+        final String attachment = wikiContext.getEngine().getManager( AttachmentManager.class ).getAttachmentInfoName( wikiContext, link.getWikiLink() );
         if( attachment != null ) {
             if( !linkOperations.isImageLink( link.getUrl().toString() ) ) {
                 attributes.replaceValue( "class", MarkupParser.CLASS_ATTACHMENT );
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/AccessRuleLinkNodePostProcessorState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/AccessRuleLinkNodePostProcessorState.java
index 3d6c4cb..d977565 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/AccessRuleLinkNodePostProcessorState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/AccessRuleLinkNodePostProcessorState.java
@@ -25,7 +25,9 @@ import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.auth.WikiSecurityException;
 import org.apache.wiki.auth.acl.Acl;
+import org.apache.wiki.auth.acl.AclManager;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
+import org.apache.wiki.render.RenderingManager;
 
 
 /**
@@ -51,7 +53,7 @@ public class AccessRuleLinkNodePostProcessorState implements NodePostProcessorSt
     @Override
     public void process( final NodeTracker state, final JSPWikiLink link ) {
         String ruleLine = NodePostProcessorStateCommonOperations.inlineLinkTextOnWysiwyg( state, link, m_wysiwygEditorMode );
-        if( wikiContext.getEngine().getRenderingManager().getParser( wikiContext, link.getUrl().toString() ).isParseAccessRules() ) {
+        if( wikiContext.getEngine().getManager( RenderingManager.class ).getParser( wikiContext, link.getUrl().toString() ).isParseAccessRules() ) {
             final WikiPage page = wikiContext.getRealPage();
             if( ruleLine.startsWith( "{" ) ) {
                 ruleLine = ruleLine.substring( 1 );
@@ -62,7 +64,7 @@ public class AccessRuleLinkNodePostProcessorState implements NodePostProcessorSt
             LOG.debug( "page=" + page.getName() + ", ACL = " + ruleLine );
 
             try {
-                final Acl acl = wikiContext.getEngine().getAclManager().parseAcl( page, ruleLine );
+                final Acl acl = wikiContext.getEngine().getManager( AclManager.class ).parseAcl( page, ruleLine );
                 page.setAcl( acl );
                 link.unlink();
                 state.nodeRemoved( link );
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/LocalLinkNodePostProcessorState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/LocalLinkNodePostProcessorState.java
index 1c6345a..0e1629a 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/LocalLinkNodePostProcessorState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/LocalLinkNodePostProcessorState.java
@@ -23,6 +23,7 @@ import com.vladsch.flexmark.util.ast.Node;
 import com.vladsch.flexmark.util.ast.NodeTracker;
 import com.vladsch.flexmark.util.sequence.CharSubSequence;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
 import org.apache.wiki.parser.LinkParsingOperations;
 import org.apache.wiki.parser.MarkupParser;
@@ -49,7 +50,7 @@ public class LocalLinkNodePostProcessorState implements NodePostProcessorState<
     @Override
     public void process( final NodeTracker state, final JSPWikiLink link ) {
         final int hashMark = link.getUrl().toString().indexOf( '#' );
-        final String attachment = wikiContext.getEngine().getAttachmentManager().getAttachmentInfoName( wikiContext, link.getUrl().toString() );
+        final String attachment = wikiContext.getEngine().getManager( AttachmentManager.class ).getAttachmentInfoName( wikiContext, link.getUrl().toString() );
         if( attachment != null  ) {
             if( !linkOperations.isImageLink( link.getUrl().toString() ) ) {
                 final String attlink = wikiContext.getURL( WikiContext.ATTACH, link.getUrl().toString() );
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/MetadataLinkNodePostProcessorState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/MetadataLinkNodePostProcessorState.java
index 47661b5..fadb459 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/MetadataLinkNodePostProcessorState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/MetadataLinkNodePostProcessorState.java
@@ -25,6 +25,7 @@ import org.apache.wiki.WikiContext;
 import org.apache.wiki.i18n.InternationalizationManager;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
 import org.apache.wiki.preferences.Preferences;
+import org.apache.wiki.variables.VariableManager;
 
 import java.text.MessageFormat;
 import java.util.ResourceBundle;
@@ -71,7 +72,7 @@ public class MetadataLinkNodePostProcessorState implements NodePostProcessorStat
             LOG.debug( "page=" + wikiContext.getRealPage().getName() + " SET name='" + name + "', value='" + val + "'" );
 
             if( name.length() > 0 && val.length() > 0 ) {
-                val = wikiContext.getEngine().getVariableManager().expandVariables( wikiContext, val );
+                val = wikiContext.getEngine().getManager( VariableManager.class ).expandVariables( wikiContext, val );
                 wikiContext.getPage().setAttribute( name, val );
                 link.unlink();
                 state.nodeRemoved( link );
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
index 6a72cf7..4c1ea59 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
@@ -26,6 +26,7 @@ import org.apache.commons.text.StringEscapeUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
+import org.apache.wiki.variables.VariableManager;
 
 
 /**
@@ -52,7 +53,7 @@ public class VariableLinkNodePostProcessorState implements NodePostProcessorStat
         final String variable = NodePostProcessorStateCommonOperations.inlineLinkTextOnWysiwyg( state, link, m_wysiwygEditorMode );
         if( !m_wysiwygEditorMode ) {
             try {
-                final String parsedVariable = wikiContext.getEngine().getVariableManager().parseAndGetValue( wikiContext, variable );
+                final String parsedVariable = wikiContext.getEngine().getManager( VariableManager.class ).parseAndGetValue( wikiContext, variable );
                 final HtmlInline content = new HtmlInline( CharSubSequence.of( StringEscapeUtils.escapeXml11( parsedVariable ) ) );
                 NodePostProcessorStateCommonOperations.addContent( state, link, content );
             } catch( final NoSuchVariableException e ) {
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/parser/markdown/MarkdownParser.java b/jspwiki-markdown/src/main/java/org/apache/wiki/parser/markdown/MarkdownParser.java
index c98f4ef..d36647b 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/parser/markdown/MarkdownParser.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/parser/markdown/MarkdownParser.java
@@ -21,6 +21,8 @@ package org.apache.wiki.parser.markdown;
 import com.vladsch.flexmark.parser.Parser;
 import com.vladsch.flexmark.util.ast.Node;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.auth.AuthorizationManager;
+import org.apache.wiki.auth.UserManager;
 import org.apache.wiki.parser.MarkupParser;
 import org.apache.wiki.parser.WikiDocument;
 
@@ -33,26 +35,27 @@ import java.io.Reader;
  */
 public class MarkdownParser extends MarkupParser {
 
-	private final Parser parser;
+    private final Parser parser;
 
-	public MarkdownParser( final WikiContext context, final Reader in ) {
-		super( context, in );
-		if( context.getEngine().getUserManager().getUserDatabase() == null || context.getEngine().getAuthorizationManager() == null ) {
+    public MarkdownParser( final WikiContext context, final Reader in ) {
+        super( context, in );
+        if( context.getEngine().getManager( UserManager.class ).getUserDatabase() == null || 
+            context.getEngine().getManager( AuthorizationManager.class ) == null ) {
             disableAccessRules();
         }
-		parser = Parser.builder( MarkdownDocument.options( context ) ).build();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public WikiDocument parse() throws IOException {
-		final Node document = parser.parseReader( m_in );
-		final MarkdownDocument md = new MarkdownDocument( m_context.getPage(), document );
+        parser = Parser.builder( MarkdownDocument.options( context ) ).build();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public WikiDocument parse() throws IOException {
+        final Node document = parser.parseReader( m_in );
+        final MarkdownDocument md = new MarkdownDocument( m_context.getPage(), document );
         md.setContext( m_context );
 
-		return md;
-	}
+        return md;
+    }
 
 }
diff --git a/jspwiki-markdown/src/test/java/org/apache/wiki/render/MarkdownRendererTest.java b/jspwiki-markdown/src/test/java/org/apache/wiki/render/MarkdownRendererTest.java
index 19bbb2d..fbeb7b2 100755
--- a/jspwiki-markdown/src/test/java/org/apache/wiki/render/MarkdownRendererTest.java
+++ b/jspwiki-markdown/src/test/java/org/apache/wiki/render/MarkdownRendererTest.java
@@ -25,6 +25,7 @@ import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.exceptions.WikiException;
 import org.apache.wiki.attachment.Attachment;
+import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.markdown.MarkdownParser;
 import org.apache.wiki.render.markdown.MarkdownRenderer;
 import org.junit.jupiter.api.AfterEach;
@@ -105,14 +106,14 @@ public class MarkdownRendererTest {
         Assertions.assertEquals( "<p> This should be visible if the ACL allows you to see it</p>\n", translate( src ) );
         // in any case, we also check that the created wikipage has the ACL added
         Assertions.assertEquals( "  user = PerryMason: ((\"org.apache.wiki.auth.permissions.PagePermission\",\"JSPWiki:testpage\",\"view\"))\n",
-        		                 testEngine.getPageManager().getPage( PAGE_NAME ).getAcl().toString() );
+        		                 testEngine.getManager( PageManager.class ).getPage( PAGE_NAME ).getAcl().toString() );
     }
 
     @Test
     public void testMarkupExtensionMetadata() throws Exception {
         final String src = "[{SET Perry='Mason'}]() Some text after setting metadata";
         Assertions.assertEquals( "<p> Some text after setting metadata</p>\n", translate( src ) );
-        Assertions.assertEquals( "Mason", testEngine.getPageManager().getPage( PAGE_NAME ).getAttribute( "Perry" ) );
+        Assertions.assertEquals( "Mason", testEngine.getManager( PageManager.class ).getPage( PAGE_NAME ).getAttribute( "Perry" ) );
     }
 
     @Test