Skip to content
Snippets Groups Projects
Commit f433c5f7 authored by fkiefer's avatar fkiefer
Browse files

OO-2341 Folders renamed, TimeCode formatted

parent b1529db0
No related branches found
No related tags found
No related merge requests found
...@@ -30,9 +30,12 @@ import java.nio.file.Files; ...@@ -30,9 +30,12 @@ import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor; import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.TimeZone;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
...@@ -68,6 +71,10 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -68,6 +71,10 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
private static final String DATA = "export/userdata/"; private static final String DATA = "export/userdata/";
private static final String SEP = File.separator; private static final String SEP = File.separator;
private static final SimpleDateFormat displayDateFormat = new SimpleDateFormat("HH:mm:ss");
static {
displayDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
}
private VelocityHelper velocityHelper; private VelocityHelper velocityHelper;
...@@ -162,15 +169,15 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -162,15 +169,15 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
for (QTIResultSet qtiResultSet : resultSets) { for (QTIResultSet qtiResultSet : resultSets) {
Long assessmentID = qtiResultSet.getAssessmentID(); Long assessmentID = qtiResultSet.getAssessmentID();
String idPath = idDir + assessmentID + SEP; String idPath = idDir + translator.translate("table.user.attempt") + (resultSets.indexOf(qtiResultSet)+1) + SEP;
createZipDirectory(zout, idPath); createZipDirectory(zout, idPath);
String linkToHTML = createHTMLfromQTIResultSet(idPath, zout, ureq, identity, qtiResultSet); String linkToHTML = createHTMLfromQTIResultSet(idPath, idDir, zout, ureq, identity, qtiResultSet);
// content of result table // content of result table
ResultDetail resultDetail = new ResultDetail(createLink(String.valueOf(assessmentID), linkToHTML, true), ResultDetail resultDetail = new ResultDetail(createLink(String.valueOf(assessmentID), linkToHTML, true),
qtiResultSet.getCreationDate(), qtiResultSet.getDuration(), qtiResultSet.getScore(), qtiResultSet.getCreationDate(), displayDateFormat.format(new Date(qtiResultSet.getDuration())),
createPassedIcons(qtiResultSet.getIsPassed()), linkToHTML); qtiResultSet.getScore(), createPassedIcons(qtiResultSet.getIsPassed()), linkToHTML);
assessments.add(resultDetail); assessments.add(resultDetail);
...@@ -242,7 +249,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -242,7 +249,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
if (assessments.size() > 0) ctx.put("hasResults", Boolean.TRUE); if (assessments.size() > 0) ctx.put("hasResults", Boolean.TRUE);
String template = FileUtils.load(QTI12ResultsExportMediaResource.class String template = FileUtils.load(QTI12ResultsExportMediaResource.class
.getResourceAsStream("_content/qti12listing.html"), "utf-8"); .getResourceAsStream("_content/qtiListing.html"), "utf-8");
return velocityHelper.evaluateVTL(template, ctx); return velocityHelper.evaluateVTL(template, ctx);
} }
...@@ -261,7 +268,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -261,7 +268,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
ctx.put("assessedMembers", assessedMembers); ctx.put("assessedMembers", assessedMembers);
String template = FileUtils.load(QTI12ResultsExportMediaResource.class String template = FileUtils.load(QTI12ResultsExportMediaResource.class
.getResourceAsStream("_content/qti12userlisting.html"), "utf-8"); .getResourceAsStream("_content/qtiUserlisting.html"), "utf-8");
return velocityHelper.evaluateVTL(template, ctx); return velocityHelper.evaluateVTL(template, ctx);
} }
...@@ -276,7 +283,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -276,7 +283,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
return fDoc; return fDoc;
} }
private String createHTMLfromQTIResultSet(String idPath, ZipOutputStream zout, UserRequest ureq, private String createHTMLfromQTIResultSet(String idPath, String idDir, ZipOutputStream zout, UserRequest ureq,
Identity assessedIdentity, QTIResultSet resultSet) throws IOException { Identity assessedIdentity, QTIResultSet resultSet) throws IOException {
Document doc = FilePersister.retreiveResultsReporting(assessedIdentity, Document doc = FilePersister.retreiveResultsReporting(assessedIdentity,
...@@ -294,7 +301,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource { ...@@ -294,7 +301,7 @@ public class QTI12ResultsExportMediaResource implements MediaResource {
convertToZipEntry(zout, html, resultsHTML); convertToZipEntry(zout, html, resultsHTML);
convertToZipEntry(zout, xml, resourceXML); convertToZipEntry(zout, xml, resourceXML);
return resultSet.getAssessmentID() + "/" + resultSet.getAssessmentID() + ".html"; return idPath.replace(idDir, "") + resultSet.getAssessmentID() + ".html";
} }
private void fsToZip(ZipOutputStream zout, final Path sourceFolder, final String targetPath) throws IOException { private void fsToZip(ZipOutputStream zout, final Path sourceFolder, final String targetPath) throws IOException {
......
...@@ -30,9 +30,12 @@ import java.nio.file.Files; ...@@ -30,9 +30,12 @@ import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor; import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.TimeZone;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
...@@ -78,6 +81,10 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -78,6 +81,10 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
private static final String DATA = "export/userdata/"; private static final String DATA = "export/userdata/";
private static final String SEP = File.separator; private static final String SEP = File.separator;
private static SimpleDateFormat displayDateFormat = new SimpleDateFormat("HH:mm:ss");
static {
displayDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
}
private VelocityHelper velocityHelper; private VelocityHelper velocityHelper;
...@@ -93,7 +100,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -93,7 +100,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
public QTI21ResultsExportMediaResource(CourseEnvironment courseEnv, List<Identity> identities, public QTI21ResultsExportMediaResource(CourseEnvironment courseEnv, List<Identity> identities,
QTICourseNode courseNode, QTI21Service qtiService, UserRequest ureq) { QTICourseNode courseNode, QTI21Service qtiService, UserRequest ureq) {
this.title = "qti12export"; this.title = "qti21export";
this.courseNode = courseNode; this.courseNode = courseNode;
this.identities = identities; this.identities = identities;
this.velocityHelper = VelocityHelper.getInstance(); this.velocityHelper = VelocityHelper.getInstance();
...@@ -167,14 +174,14 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -167,14 +174,14 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
for (AssessmentTestSession session : sessions) { for (AssessmentTestSession session : sessions) {
Long assessmentID = session.getKey(); Long assessmentID = session.getKey();
String idPath = idDir + assessmentID + SEP; String idPath = idDir + translator.translate("table.user.attempt") + (sessions.indexOf(session)+1) + SEP;
createZipDirectory(zout, idPath); createZipDirectory(zout, idPath);
// content of result table // content of result table
ResultDetail resultDetail = new ResultDetail(assessmentID.toString(), session.getCreationDate(), ResultDetail resultDetail = new ResultDetail(assessmentID.toString(), session.getCreationDate(),
session.getDuration(), session.getScore().floatValue(), displayDateFormat.format(new Date(session.getDuration())), session.getScore().floatValue(),
createPassedIcons(session.getPassed() == null ? true : session.getPassed()), createPassedIcons(session.getPassed() == null ? true : session.getPassed()),
assessmentID + SEP + assessmentID + ".html"); idPath.replace(idDir, "") + assessmentID + ".html");
assessments.add(resultDetail); assessments.add(resultDetail);
//WindowControlMocker needed because this is not a controller //WindowControlMocker needed because this is not a controller
...@@ -279,7 +286,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -279,7 +286,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
if (assessments.size() > 0) ctx.put("hasResults", Boolean.TRUE); if (assessments.size() > 0) ctx.put("hasResults", Boolean.TRUE);
String template = FileUtils.load(QTI21ResultsExportMediaResource.class String template = FileUtils.load(QTI21ResultsExportMediaResource.class
.getResourceAsStream("_content/qti12listing.html"), "utf-8"); .getResourceAsStream("_content/qtiListing.html"), "utf-8");
return velocityHelper.evaluateVTL(template, ctx); return velocityHelper.evaluateVTL(template, ctx);
} }
...@@ -298,7 +305,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -298,7 +305,7 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
ctx.put("assessedMembers", assessedMembers); ctx.put("assessedMembers", assessedMembers);
String template = FileUtils.load(QTI21ResultsExportMediaResource.class String template = FileUtils.load(QTI21ResultsExportMediaResource.class
.getResourceAsStream("_content/qti12userlisting.html"), "utf-8"); .getResourceAsStream("_content/qtiUserlisting.html"), "utf-8");
return velocityHelper.evaluateVTL(template, ctx); return velocityHelper.evaluateVTL(template, ctx);
} }
......
...@@ -26,7 +26,7 @@ public class ResultDetail { ...@@ -26,7 +26,7 @@ public class ResultDetail {
private String assessmentID; private String assessmentID;
private Date assessmentDate; private Date assessmentDate;
private String dateCaption; private String dateCaption;
private long duration; private String duration;
private String durationCaption; private String durationCaption;
private float score; private float score;
private String scoreCaption; private String scoreCaption;
...@@ -36,7 +36,7 @@ public class ResultDetail { ...@@ -36,7 +36,7 @@ public class ResultDetail {
public ResultDetail() { public ResultDetail() {
} }
public ResultDetail(String assessmentID, Date assessmentDate, long duration, float score, String passed, String link) { public ResultDetail(String assessmentID, Date assessmentDate, String duration, float score, String passed, String link) {
super(); super();
this.assessmentID = assessmentID; this.assessmentID = assessmentID;
this.assessmentDate = assessmentDate; this.assessmentDate = assessmentDate;
...@@ -47,16 +47,6 @@ public class ResultDetail { ...@@ -47,16 +47,6 @@ public class ResultDetail {
} }
public ResultDetail(String assessmentID, String dateCaption, String durationCaption, String scoreCaption, String passed) {
super();
this.assessmentID = assessmentID;
this.dateCaption = dateCaption;
this.durationCaption = durationCaption;
this.scoreCaption = scoreCaption;
this.passed = passed;
}
public String getLink() { public String getLink() {
...@@ -107,11 +97,11 @@ public class ResultDetail { ...@@ -107,11 +97,11 @@ public class ResultDetail {
this.assessmentDate = assessmentDate; this.assessmentDate = assessmentDate;
} }
public long getDuration() { public String getDuration() {
return duration; return duration;
} }
public void setDuration(long duration) { public void setDuration(String duration) {
this.duration = duration; this.duration = duration;
} }
......
...@@ -15,5 +15,6 @@ table.all.username=Benutzername ...@@ -15,5 +15,6 @@ table.all.username=Benutzername
table.all.firstname=Vorname table.all.firstname=Vorname
table.all.lastname=Nachname table.all.lastname=Nachname
table.all.tries=Versuche table.all.tries=Versuche
table.user.attempt=Versuch_
table.all.passed=Bestanden table.all.passed=Bestanden
error.no.assessed.users=Keine Bewertungen vorhanden error.no.assessed.users=Keine Bewertungen vorhanden
\ No newline at end of file
...@@ -14,6 +14,7 @@ table.all.id=ID ...@@ -14,6 +14,7 @@ table.all.id=ID
table.all.username=Username table.all.username=Username
table.all.firstname=Firstname table.all.firstname=Firstname
table.all.lastname=Lastname table.all.lastname=Lastname
table.all.tries=Tries table.all.tries=Attempts
table.user.attempt=Attempt_
table.all.passed=Passed table.all.passed=Passed
error.no.assessed.users=No Assessments available error.no.assessed.users=No Assessments available
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment