Scarab commit: svn commit: r11344 - branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools: . bliki radeox render
[email protected] Thu, 26 Jun 2014 13:42:04 -0700 (PDT)
| Newsgroups | gmane.comp.java.scarab.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: dabbous
Date: 2014-06-26 13:42:03-0700
New Revision: 11344
Added:
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/bliki/
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/bliki/BlikiRenderEngine.java
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/radeox/RadeoxRenderEngine.java
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/render/
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/render/ScarabRenderAPI.java
Modified:
branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/ScarabGlobalTool.java
Log:
Added simplistic API for render engines and 2 implementations for radeox and bliki
Modified: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/ScarabGlobalTool.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/ScarabGlobalTool.java?view=diff&pathrev=11344&r1=11343&r2=11344
==============================================================================
--- branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/ScarabGlobalTool.java (original)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/ScarabGlobalTool.java 2014-06-26 13:42:03-0700
@@ -49,7 +49,6 @@
import java.util.Collections;
import java.util.Date;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
@@ -71,9 +70,6 @@
import org.apache.turbine.services.pull.ApplicationTool;
import org.apache.velocity.app.FieldMethodizer;
-import org.radeox.api.engine.RenderEngine;
-import org.radeox.api.engine.context.RenderContext;
-import org.radeox.engine.context.BaseRenderContext;
import org.tigris.scarab.notification.ActivityType;
import org.tigris.scarab.notification.Notification;
@@ -93,7 +89,9 @@
import org.tigris.scarab.om.Module;
import org.tigris.scarab.om.MITListManager;
import org.tigris.scarab.services.security.ScarabSecurity;
-import org.tigris.scarab.tools.radeox.ScarabRenderEngine;
+import org.tigris.scarab.tools.bliki.BlikiRenderEngine;
+import org.tigris.scarab.tools.radeox.RadeoxRenderEngine;
+import org.tigris.scarab.tools.render.ScarabRenderAPI;
import org.tigris.scarab.util.ReferenceInsertionFilter;
import org.tigris.scarab.workflow.Workflow;
import org.tigris.scarab.workflow.WorkflowFactory;
@@ -158,8 +156,8 @@
private static final String BUILD_VERSION =
Environment.getConfigurationProperty("scarab.build.version", "");
- private static RenderContext context = new BaseRenderContext();
- private static RenderEngine engine = new ScarabRenderEngine();
+ private static ScarabRenderAPI radeoxEngine = new RadeoxRenderEngine();
+ private static ScarabRenderAPI blikiEngine = new BlikiRenderEngine();
public void init(Object data)
@@ -182,10 +180,6 @@
parameterName = new FieldMethodizer(
"org.tigris.scarab.om.GlobalParameter");
- if(context.getRenderEngine() == null)
- {
- context.setRenderEngine(engine);
- }
}
/**
@@ -772,7 +766,11 @@
String txt;
if(renderEngine.equals("radeox"))
{
- txt = engine.render(text, context);
+ txt = radeoxEngine.render(text);
+ }
+ if(renderEngine.equals("bliki"))
+ {
+ txt = blikiEngine.render(text);
}
else if(renderEngine.equals("html")){
txt = text;
Added: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/bliki/BlikiRenderEngine.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/bliki/BlikiRenderEngine.java?view=markup&pathrev=11344
==============================================================================
--- (empty file)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/bliki/BlikiRenderEngine.java 2014-06-26 13:42:03-0700
@@ -0,0 +1,44 @@
+package org.tigris.scarab.tools.bliki;
+
+import org.tigris.scarab.tools.render.ScarabRenderAPI;
+
+import info.bliki.wiki.model.WikiModel;
+
+/*
+ * ScarabRenderEngine.java
+ *
+ * Created on 27. april 2006, 16:18
+ *
+ */
+
+
+/** renderEngine implementation for scarab.
+ *
+ * renders links
+ * renders newlines as newlines (replaces "\n[^\n]" with "\n\n")
+ *
+ * @author <a href="mailto:[email protected]">Michael Semb Wever</a>
+ * @author <a href="mailto:[email protected]">Hussayn Dabbous</a>
+ * @version $Id$
+ */
+public final class BlikiRenderEngine implements ScarabRenderAPI {
+
+ /** Creates a new instance of ScarabRenderEngine */
+ public BlikiRenderEngine()
+ {
+ }
+
+ @Override
+ public String render(String text)
+ {
+ String match = "([^\"'=]|^)((http|ftp)s?://(%[\\p{Digit}A-Fa-f][\\p{Digit}A-Fa-f]|[-_.!~*';/?:@#&=+$,\\p{Alnum}])+)";
+ String replace = "$1<span class=\"nobr\"><a target=\"_blank\" href=\"$2\">$2</a></span>";
+
+ String result = WikiModel.toHtml(text);
+ result = result.replaceAll("\\\\\\\\", "<br/>");
+ result = result.replaceAll(match, replace);
+ result = result.replaceAll("(?s)\\{\\{\\{(.*)\\}\\}\\}", "<pre>$1</pre>");
+ return result;
+ }
+
+}
Added: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/radeox/RadeoxRenderEngine.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/radeox/RadeoxRenderEngine.java?view=markup&pathrev=11344
==============================================================================
--- (empty file)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/radeox/RadeoxRenderEngine.java 2014-06-26 13:42:03-0700
@@ -0,0 +1,87 @@
+/*
+ * ScarabRenderEngine.java
+ *
+ * Created on 27. april 2006, 16:18
+ *
+ */
+
+package org.tigris.scarab.tools.radeox;
+
+import org.radeox.api.engine.WikiRenderEngine;
+import org.radeox.api.engine.context.RenderContext;
+import org.radeox.engine.BaseRenderEngine;
+import org.radeox.engine.context.BaseRenderContext;
+import org.tigris.scarab.tools.render.ScarabRenderAPI;
+
+/** renderEngine implementation for scarab.
+ *
+ * renders links
+ * renders newlines as newlines (replaces "\n[^\n]" with "\n\n")
+ *
+ * @author <a href="mailto:[email protected]">Michael Semb Wever</a>
+ * @author <a href="mailto:[email protected]">Hussayn Dabbous</a>
+ * @version $Id$
+ */
+public final class RadeoxRenderEngine extends BaseRenderEngine implements WikiRenderEngine, ScarabRenderAPI{
+
+ private static RenderContext context = new BaseRenderContext();
+
+ /** Creates a new instance of ScarabRenderEngine */
+ public RadeoxRenderEngine() {
+ context.setRenderEngine(this);
+ }
+
+ // Public --------------------------------------------------------
+
+ // WikiRenderEngne implementation ----------------------------------------------
+
+ public boolean exists(String string) {
+ return false;
+ }
+
+ public boolean showCreate() {
+ return false;
+ }
+
+ public void appendLink(StringBuffer buffer, String name, String anchor, String string1) {
+ appendLink(buffer, name, anchor);
+ if (anchor != null && anchor.length()>0){
+ buffer.setLength(buffer.length()-1);
+ buffer.append(anchor);
+ }
+ buffer.append("]");
+ }
+
+ public void appendLink(StringBuffer buffer, String name, String anchor) {
+ buffer.append("[");
+ if (name != null && name.length()>0){
+ buffer.append(name);
+ }
+ if (anchor != null && anchor.length()>0){
+ buffer.append(anchor);
+ }
+ buffer.append("]");
+ }
+
+ public void appendCreateLink(StringBuffer buffer, String name, String anchor) {
+ appendLink(buffer, name, anchor);
+ }
+
+ @Override
+ public String render(String text) {
+ return render(text, context);
+ }
+
+ /* discarded (breaks creole-1.0 syntax)
+ The effect will be added as configurable Radeox-Filter instead
+ public String render(final String content, final RenderContext context) {
+
+ // Issue SCB2552: (Preserve entered newlines when rendering wiki style)
+ // [HD]: Corrected the regular expression. The previous version
+ // sucked up the first character of the next line.
+ return super.render(content.replaceAll("\n([^\n])", "\n\n$1"), context);
+ }
+ */
+
+
+}
Added: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/render/ScarabRenderAPI.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/render/ScarabRenderAPI.java?view=markup&pathrev=11344
==============================================================================
--- (empty file)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/tools/render/ScarabRenderAPI.java 2014-06-26 13:42:03-0700
@@ -0,0 +1,11 @@
+package org.tigris.scarab.tools.render;
+
+/**
+ * Generic API for Render engine
+ * Currently use for radeox and bliki
+ * @author hdab
+ *
+ */
+public interface ScarabRenderAPI {
+ String render(String text);
+}
------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=3084056