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