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;
}
}