package net.sourceforge.phpeclipse.wiki.builder; import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; import net.sourceforge.phpeclipse.wiki.preferences.Util; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; import org.radeox.api.engine.WikiRenderEngine; import org.radeox.api.engine.context.InitialRenderContext; import org.radeox.api.engine.context.RenderContext; import org.radeox.engine.BaseRenderEngine; import org.plog4u.wiki.filter.FilterUtil; public class BuilderRenderEngine extends BaseRenderEngine implements WikiRenderEngine { IProject fProject; IPath fPath; int fLevel; public BuilderRenderEngine(IProject project, InitialRenderContext context) { super(context); fProject = project; fPath = fProject.getFullPath(); fLevel = 0; } /** * * @param location - * the absolute basepath or null * @param name - * the name of the wiki link * @param extension - * the file extension of the wiki text ( *.wp prefered ) * @param createHTMLLevel - * if true prepend the directory level before the link i.e. ../../ * @return */ public String createHTMLLink(String location, String name, String extension, boolean createHTMLLevel) { return FilterUtil.createHTMLLink(location, name, extension, createHTMLLevel, fLevel); } public boolean exists(String name) { java.io.File file = new java.io.File(createHTMLLink(Util.getWikiTextsPath(fProject), name, "wp", false)); return file.exists(); // return name.equals("SnipSnap") || name.equals("stephan"); } public boolean showCreate() { return true; } public void appendLink(StringBuffer buffer, String name, String view, String anchor) { String basePath = Util.getProjectsWikiOutputPath(fProject, WikiEditorPlugin.HTML_OUTPUT_PATH); // String basePath = WikiEditorPlugin.getDefault().getPreferenceStore().getString(WikiConstants.HTML_OUTPUT_PATH); buffer.append(""); buffer.append(view); buffer.append(""); //buffer.append("link:"+name+"|"+view+"#"+anchor); } public void appendLink(StringBuffer buffer, String name, String view) { String basePath = Util.getProjectsWikiOutputPath(fProject, WikiEditorPlugin.HTML_OUTPUT_PATH); // String basePath = WikiEditorPlugin.getDefault().getPreferenceStore().getString(WikiConstants.HTML_OUTPUT_PATH); buffer.append(""); buffer.append(view); buffer.append(""); // buffer.append("link:" + name + "|" +view); } public void appendCreateLink(StringBuffer buffer, String name, String view) { // if showCreate is true this method will be used to create a link to a // "Wiki creationpage" buffer.append(view); // buffer.append("'").append(name).append("' - "); // buffer.append("'").append(Encoder.escape(name)).append("'"); } public String getName() { return "BuilderRenderEngine"; } public void setLevel(int level) { fLevel = level; } }