package org.netevolved.tincan; import java.io.IOException; import java.io.Writer; import org.openedit.OpenEditException; import org.openedit.WebPageRequest; import org.openedit.error.ContentNotAvailableException; import org.openedit.generators.FileGenerator; import org.openedit.generators.Output; import org.openedit.page.Page; import org.openedit.page.manage.PageManager; import org.openedit.util.PathUtilities; public class TinCanGenerator extends FileGenerator { protected PageManager fieldPageManager; public PageManager getPageManager() { return fieldPageManager; } public void setPageManager(PageManager inPageManager) { fieldPageManager = inPageManager; } //http://localhost:8080/bootstrapfrontend/activities/presentations/119/index.html?endpoint=http://34.227.195.177/data/xAPI&auth=Basic%20OWVjZmYwN2NjNGI5NjYwZTQxMjUwNmFkOWZhNDJkNDc0YjFhYjA3NDo3ZTU2MDhkYzkwZTBiNjNhYWI4OWNiZWRmNGQyZDI2ODc5ZWExNmFl&actor=%7B%22mbox%22%3A%22mailto%3Aian%40ijsolutions.ca%22%2C%22name%22%3A%22Ian+Miller%22%7D&activityid=http%3A%2F%2F119&context= @Override public void generate(WebPageRequest inContext, Page inPage, Output inOut) throws OpenEditException { try { String activityid = (String) inContext.getSessionValue("last-tincan-activityid"); // classes/CLASSID/courses/COURSEID/ACTIVITYID String filename = inPage.getPageName(); if("tc-config".equals(filename)) { StringBuffer finalcontent = new StringBuffer(); String lines[] = inPage.getContent().split("\\r?\\n"); for (int i = 0; i < lines.length; i++) { String line = lines[i]; if(line.contains("TC_COURSE_ID")) { line = "TC_COURSE_ID = \"http://" + activityid + "\""; } finalcontent.append(line); finalcontent.append("\r\n"); } Writer inOutput = inOut.getWriter(); try { String string = finalcontent.toString(); inOutput.write(string); } catch (IOException ex) { throw new OpenEditException(ex); } } else { super.generate(inContext, inPage, inOut); } } catch (ContentNotAvailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }