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;
}
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));
}
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));
}
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");
}
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);
}
}
Aggregations