package fitnesse.wiki;
import java.io.IOException;
import util.FileSystem;
public class ExternalTestPage extends CachingPage {
private static final long serialVersionUID = 1L;
private FileSystem fileSystem;
private String path;
public ExternalTestPage(String path, String name, WikiPage parent, FileSystem fileSystem) {
super(name, parent);
this.path = path;
this.fileSystem = fileSystem;
}
@Override
protected VersionInfo makeVersion() {
return null;
}
@Override
protected void doCommit(PageData data) {
}
@Override
public boolean hasChildPage(String pageName) {
return false;
}
@Override
protected WikiPage createChildPage(String name) {
return null;
}
@Override
protected void loadChildren() {
}
@Override
protected PageData makePageData() {
PageData pageData = new PageData(this);
String content;
try {
content = fileSystem.getContent(path);
} catch (IOException e) {
throw new RuntimeException("Unable to fetch page content", e);
}
pageData.setContent("!-" + content + "-!");
pageData.removeAttribute(PageData.PropertyEDIT);
pageData.removeAttribute(PageData.PropertyPROPERTIES);
pageData.removeAttribute(PageData.PropertyVERSIONS);
pageData.removeAttribute(PageData.PropertyREFACTOR);
if (content.contains("<table")) {
pageData.setAttribute(PageType.TEST.toString(), Boolean.toString(true));
}
return pageData;
}
public PageData getDataVersion(String versionName) {
return null;
}
}