1 package net.sf.maia.core.view; 2 3 import net.sf.maia.core.storage.PageStore; 4 5 import org.radeox.api.engine.WikiRenderEngine; 6 import org.radeox.engine.BaseRenderEngine; 7 8 /*** 9 * 10 * 11 * @author Magnus Grimsell 12 */ 13 public class MaiaRenderEngine extends BaseRenderEngine implements WikiRenderEngine 14 { 15 private PageStore mPageStore; 16 17 public void setPageStore(PageStore pageStore) 18 { 19 mPageStore = pageStore; 20 } 21 22 /*** 23 * 24 * @see WikiRenderEngine#exists(String) 25 */ 26 public boolean exists(String path) 27 { 28 if(!path.startsWith("/")) 29 { 30 path = "/" + path; 31 } 32 33 return mPageStore.getPage(path) != null; 34 } 35 36 /*** 37 * TODO: implement by asking security framework 38 * @see WikiRenderEngine#showCreate() 39 */ 40 public boolean showCreate() 41 { 42 return true; 43 } 44 45 /*** 46 * @see WikiRenderEngine#appendLink(StringBuffer, String, String, String) 47 */ 48 public void appendLink(StringBuffer buffer, String name, String view, String anchor) 49 { 50 buffer.append("<a href=\""); 51 buffer.append(name); 52 if(anchor != null) 53 { 54 buffer.append("#"); 55 buffer.append(anchor); 56 } 57 buffer.append("\">"); 58 buffer.append(view); 59 buffer.append("</a>"); 60 } 61 62 /*** 63 * @see WikiRenderEngine#appendLink(StringBuffer, String, String) 64 */ 65 public void appendLink(StringBuffer buffer, String name, String view) 66 { 67 appendLink(buffer, name, view, null); 68 } 69 70 /*** 71 * @see WikiRenderEngine#appendCreateLink(StringBuffer, String, String) 72 */ 73 public void appendCreateLink(StringBuffer buffer, String name, String view) 74 { 75 buffer.append("[[<a href=\"/create?new="); 76 buffer.append(name); 77 buffer.append("//\">"); 78 buffer.append(view); 79 buffer.append("</a>]]"); 80 } 81 82 }