Search in sources :

Example 16 with Syntax

use of org.xwiki.rendering.syntax.Syntax in project xwiki-platform by xwiki.

the class DefaultExtendedRenderingConfiguration method getConfiguredSyntaxes.

@Override
public List<Syntax> getConfiguredSyntaxes() {
    List<Syntax> configuredSyntaxes = new ArrayList<>();
    List<Syntax> disabledSyntaxes = getDisabledSyntaxes();
    for (Syntax availablesyntax : getAvailableParserSyntaxes()) {
        if (!disabledSyntaxes.contains(availablesyntax)) {
            configuredSyntaxes.add(availablesyntax);
        }
    }
    return configuredSyntaxes;
}
Also used : ArrayList(java.util.ArrayList) Syntax(org.xwiki.rendering.syntax.Syntax)

Example 17 with Syntax

use of org.xwiki.rendering.syntax.Syntax in project xwiki-platform by xwiki.

the class DefaultExtendedRenderingConfigurationTest method getConfiguredAndDisabledSyntaxesWhenNoConfigXObjectAndExistingXWikiCfgProperty.

@Test
public void getConfiguredAndDisabledSyntaxesWhenNoConfigXObjectAndExistingXWikiCfgProperty() throws Exception {
    ConfigurationSource renderingSource = this.mocker.getInstance(ConfigurationSource.class, "rendering");
    when(renderingSource.getProperty("disabledSyntaxes")).thenReturn(null);
    ConfigurationSource xwikiCfgSource = this.mocker.getInstance(ConfigurationSource.class, "xwikicfg");
    when(xwikiCfgSource.getProperty("xwiki.rendering.syntaxes", List.class)).thenReturn(Arrays.asList("xwiki/2.0", "xwiki/2.1"));
    // Register some Syntaxes for the test
    Parser xwikiSyntax20Parser = this.mocker.registerMockComponent(Parser.class, Syntax.XWIKI_2_0.toIdString());
    when(xwikiSyntax20Parser.getSyntax()).thenReturn(Syntax.XWIKI_2_0);
    Parser xwikiSyntax21Parser = this.mocker.registerMockComponent(Parser.class, Syntax.XWIKI_2_1.toIdString());
    when(xwikiSyntax21Parser.getSyntax()).thenReturn(Syntax.XWIKI_2_1);
    Syntax syntax1 = new Syntax(new SyntaxType("syntax1", "Syntax 1"), "1.0");
    Parser syntax1Parser = this.mocker.registerMockComponent(Parser.class, syntax1.toIdString());
    when(syntax1Parser.getSyntax()).thenReturn(syntax1);
    Syntax syntax2 = new Syntax(new SyntaxType("syntax2", "Syntax 2"), "1.0");
    Parser syntax2Parser = this.mocker.registerMockComponent(Parser.class, syntax2.toIdString());
    when(syntax2Parser.getSyntax()).thenReturn(syntax2);
    List<Syntax> disabledSyntaxes = this.mocker.getComponentUnderTest().getDisabledSyntaxes();
    assertEquals(2, disabledSyntaxes.size());
    assertTrue(disabledSyntaxes.contains(syntax1));
    assertTrue(disabledSyntaxes.contains(syntax2));
    List<Syntax> configuredSyntaxes = this.mocker.getComponentUnderTest().getConfiguredSyntaxes();
    assertEquals(2, configuredSyntaxes.size());
    assertTrue(configuredSyntaxes.contains(Syntax.XWIKI_2_0));
    assertTrue(configuredSyntaxes.contains(Syntax.XWIKI_2_1));
}
Also used : ConfigurationSource(org.xwiki.configuration.ConfigurationSource) SyntaxType(org.xwiki.rendering.syntax.SyntaxType) Syntax(org.xwiki.rendering.syntax.Syntax) Parser(org.xwiki.rendering.parser.Parser) Test(org.junit.Test)

Example 18 with Syntax

use of org.xwiki.rendering.syntax.Syntax in project xwiki-platform by xwiki.

the class DefaultExtendedRenderingConfigurationTest method getConfiguredAndDisabledSyntaxesWhenConfigXObjectExists.

@Test
public void getConfiguredAndDisabledSyntaxesWhenConfigXObjectExists() throws Exception {
    ConfigurationSource renderingSource = this.mocker.getInstance(ConfigurationSource.class, "rendering");
    when(renderingSource.getProperty("disabledSyntaxes")).thenReturn(Arrays.asList("syntax1/1.0", "syntax2/1.0"));
    // Register some Syntaxes for the test
    Parser syntax1Parser = this.mocker.registerMockComponent(Parser.class, "syntax1/1.0");
    Syntax syntax1 = new Syntax(new SyntaxType("syntax1", "Syntax 1"), "1.0");
    when(syntax1Parser.getSyntax()).thenReturn(syntax1);
    Parser syntax2Parser = this.mocker.registerMockComponent(Parser.class, "syntax2/1.0");
    Syntax syntax2 = new Syntax(new SyntaxType("syntax2", "Syntax 2"), "1.0");
    when(syntax2Parser.getSyntax()).thenReturn(syntax2);
    Parser xwikiSyntax20Parser = this.mocker.registerMockComponent(Parser.class, "xwiki/2.0");
    Syntax xwikiSyntax20 = new Syntax(new SyntaxType("xwiki", "XWiki"), "2.0");
    when(xwikiSyntax20Parser.getSyntax()).thenReturn(xwikiSyntax20);
    List<Syntax> disabledSyntaxes = this.mocker.getComponentUnderTest().getDisabledSyntaxes();
    assertEquals(2, disabledSyntaxes.size());
    assertTrue(disabledSyntaxes.contains(syntax1));
    assertTrue(disabledSyntaxes.contains(syntax2));
    List<Syntax> configuredSyntaxes = this.mocker.getComponentUnderTest().getConfiguredSyntaxes();
    assertEquals(1, configuredSyntaxes.size());
    assertTrue(configuredSyntaxes.contains(xwikiSyntax20));
}
Also used : ConfigurationSource(org.xwiki.configuration.ConfigurationSource) SyntaxType(org.xwiki.rendering.syntax.SyntaxType) Syntax(org.xwiki.rendering.syntax.Syntax) Parser(org.xwiki.rendering.parser.Parser) Test(org.junit.Test)

Example 19 with Syntax

use of org.xwiki.rendering.syntax.Syntax in project xwiki-platform by xwiki.

the class PygmentsParser method initialize.

@Override
public void initialize() throws InitializationException {
    ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
    // Get the script
    InputStream is = getClass().getResourceAsStream("/pygments/code.py");
    if (is != null) {
        try {
            this.script = IOUtils.toString(is, "UTF8");
        } catch (Exception e) {
            throw new InitializationException("Failed to read resource /pygments/code.py resource", e);
        } finally {
            IOUtils.closeQuietly(is);
        }
    } else {
        throw new InitializationException("Failed to find resource /pygments/code.py resource");
    }
    // Get the Python engine
    this.engine = scriptEngineManager.getEngineByName(ENGINE_ID);
    if (this.engine == null) {
        throw new InitializationException("Failed to find engine for Python script language");
    }
    String highlightSyntaxId = getSyntaxId() + "-highlight";
    this.syntax = new Syntax(new SyntaxType(highlightSyntaxId, highlightSyntaxId), "1.0");
}
Also used : InputStream(java.io.InputStream) ScriptEngineManager(javax.script.ScriptEngineManager) SyntaxType(org.xwiki.rendering.syntax.SyntaxType) InitializationException(org.xwiki.component.phase.InitializationException) Syntax(org.xwiki.rendering.syntax.Syntax) ParseException(org.xwiki.rendering.parser.ParseException) InitializationException(org.xwiki.component.phase.InitializationException) ScriptException(javax.script.ScriptException) IOException(java.io.IOException)

Example 20 with Syntax

use of org.xwiki.rendering.syntax.Syntax in project xwiki-platform by xwiki.

the class TextAreaClass method displayEdit.

@Override
public void displayEdit(StringBuffer buffer, String name, String prefix, BaseCollection object, XWikiContext context) {
    String editorType = getEditorType(context);
    EditorManager editorManager = Utils.getComponent(EditorManager.class);
    Editor<SyntaxContent> editor = editorManager.getDefaultEditor(SyntaxContent.class, editorType);
    Map<String, Object> parameters = new HashMap<>();
    String fieldName = prefix + name;
    parameters.put("id", fieldName);
    parameters.put("name", fieldName);
    parameters.put("cols", getSize());
    parameters.put("rows", getRows());
    parameters.put("disabled", isDisabled());
    parameters.put("sourceDocumentReference", object.getDocumentReference());
    Syntax syntax = "puretext".equals(editorType) ? Syntax.PLAIN_1_0 : getObjectDocumentSyntax(object, context);
    SyntaxContent syntaxContent = new SyntaxContent(object.getStringValue(name), syntax);
    try {
        buffer.append(editor.render(syntaxContent, parameters));
    } catch (EditException e) {
        LOGGER.error("Failed to display the text area property.", e);
    }
}
Also used : HashMap(java.util.HashMap) Syntax(org.xwiki.rendering.syntax.Syntax) EditorManager(org.xwiki.edit.EditorManager) EditException(org.xwiki.edit.EditException) SyntaxContent(org.xwiki.rendering.syntax.SyntaxContent)

Aggregations

Syntax (org.xwiki.rendering.syntax.Syntax)35 Test (org.junit.Test)16 DocumentReference (org.xwiki.model.reference.DocumentReference)15 DocumentModelBridge (org.xwiki.bridge.DocumentModelBridge)11 Expectations (org.jmock.Expectations)10 SyntaxType (org.xwiki.rendering.syntax.SyntaxType)7 ParseException (org.xwiki.rendering.parser.ParseException)6 XWikiDocument (com.xpn.xwiki.doc.XWikiDocument)4 IOException (java.io.IOException)4 ComponentLookupException (org.xwiki.component.manager.ComponentLookupException)4 Parser (org.xwiki.rendering.parser.Parser)4 BaseClass (com.xpn.xwiki.objects.classes.BaseClass)3 HashMap (java.util.HashMap)3 ConfigurationSource (org.xwiki.configuration.ConfigurationSource)3 XDOM (org.xwiki.rendering.block.XDOM)3 CoreConfiguration (com.xpn.xwiki.CoreConfiguration)2 XWikiAttachment (com.xpn.xwiki.doc.XWikiAttachment)2 AbstractInstanceFilterStreamTest (com.xpn.xwiki.internal.filter.AbstractInstanceFilterStreamTest)2 ParseGroovyFromString (com.xpn.xwiki.internal.render.groovy.ParseGroovyFromString)2 BaseObject (com.xpn.xwiki.objects.BaseObject)2