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