Skip to content
Snippets Groups Projects
Commit c13d105c authored by srosse's avatar srosse
Browse files

OO-4869: filter deleted users from QTI 2.1 results export

parent 9b7eae69
No related branches found
No related tags found
No related merge requests found
...@@ -475,6 +475,8 @@ public class StringHelper { ...@@ -475,6 +475,8 @@ public class StringHelper {
* @return transformed string * @return transformed string
*/ */
public static String transformDisplayNameToFileSystemName(String s){ public static String transformDisplayNameToFileSystemName(String s){
if(s == null) return "";
//replace some separator with an underscore //replace some separator with an underscore
s = s.replace('?', '_').replace('\\', '_').replace('/', '_').replace(' ', '_'); s = s.replace('?', '_').replace('\\', '_').replace('/', '_').replace(' ', '_');
//remove all non-ascii characters //remove all non-ascii characters
......
...@@ -279,6 +279,10 @@ public class QTI21ResultsExportMediaResource implements MediaResource { ...@@ -279,6 +279,10 @@ public class QTI21ResultsExportMediaResource implements MediaResource {
List<AssessedMember> assessedMembers = new ArrayList<>(); List<AssessedMember> assessedMembers = new ArrayList<>();
for(Identity identity : identities) { for(Identity identity : identities) {
if(identity == null || identity.getStatus() == null || identity.getStatus().equals(Identity.STATUS_DELETED)) {
continue;
}
String lastname = StringHelper.transformDisplayNameToFileSystemName(identity.getUser().getLastName()); String lastname = StringHelper.transformDisplayNameToFileSystemName(identity.getUser().getLastName());
String idDir = exportFolderName + "/" + DATA + lastname + "_" + identity.getKey(); String idDir = exportFolderName + "/" + DATA + lastname + "_" + identity.getKey();
idDir = idDir.endsWith(SEP) ? idDir : idDir + SEP; idDir = idDir.endsWith(SEP) ? idDir : idDir + SEP;
......
...@@ -91,6 +91,11 @@ public class StringHelperTest { ...@@ -91,6 +91,11 @@ public class StringHelperTest {
Assert.assertEquals("Webclaess", StringHelper.transformDisplayNameToFileSystemName("Webcl\u00E4ss")); Assert.assertEquals("Webclaess", StringHelper.transformDisplayNameToFileSystemName("Webcl\u00E4ss"));
} }
@Test
public void transformDisplayNameToFileSystemNameNull() {
Assert.assertEquals("", StringHelper.transformDisplayNameToFileSystemName(null));
}
@Test @Test
public void filterPrintControlCharacter() { public void filterPrintControlCharacter() {
String value1 = StringHelper.cleanUTF8ForXml("Hello world"); String value1 = StringHelper.cleanUTF8ForXml("Hello world");
......
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