changeset 37:0e030f32a6e2

Allow alphanumeric subject IDs
author Jeremy Gow <jeremy.gow@gmail.com>
date Fri, 16 Nov 2012 10:17:19 +0000
parents 69dafbbfc422
children a36ca20cffd4
files Block.class Experiment.class Experiment.java ExperimentController.class ExperimentController.java InstructionsPanel.class InstructionsPanel.java MelodyResults.class MelodyResults.java SubjectDataPanel.class SubjectDataPanel.java SubjectResults.class SubjectResults.java
diffstat 13 files changed, 23 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
Binary file Block.class has changed
Binary file Experiment.class has changed
--- a/Experiment.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/Experiment.java	Fri Nov 16 10:17:19 2012 +0000
@@ -59,7 +59,7 @@
     int currentBlockID; 
     
     /* Subject ID */ 
-    private int subjectID; 
+    private String subjectID; 
 
     /* Results */ 
     private SubjectResults results; 
@@ -94,8 +94,8 @@
     public int getClockUnits() { return clockUnits; } 
     public int getNumUnits() { return numUnits; } 
     public String getInstructionsFile() { return INSTRUCTIONS_FILE; }
-    public int getSubjectID() { return subjectID; }
-    public void setSubjectID(int id) { 
+    public String getSubjectID() { return subjectID; }
+    public void setSubjectID(String id) { 
         subjectID = id; 
         results.setSubjectID(id); 
         results.setOutputFile(id); 
Binary file ExperimentController.class has changed
--- a/ExperimentController.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/ExperimentController.java	Fri Nov 16 10:17:19 2012 +0000
@@ -65,9 +65,9 @@
 
         // InstructionsPanel 
         if (source == ip.getNextButton()) { 
-            int subjID = ip.getSubjectID(); 
-            if (subjID == ip.INVALID_SUBJECT_ID || subjID < 1)
-                reportError("The Participant ID should be a positive integer.");
+            String subjID = ip.getSubjectID(); 
+            if (subjID.equals(ip.INVALID_SUBJECT_ID))
+                reportError("The participant ID should contain only letters and numbers.");
             // TODO: check that subjID doesn't already exist
             else { 
                 exp.setSubjectID(subjID); 
Binary file InstructionsPanel.class has changed
--- a/InstructionsPanel.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/InstructionsPanel.java	Fri Nov 16 10:17:19 2012 +0000
@@ -11,11 +11,12 @@
 import javax.swing.*;
 import javax.swing.text.*;
 import java.io.*;
+import java.util.regex.Pattern;
 
 public class InstructionsPanel extends JPanel { 
 
     /* invalid subject id */ 
-    public static final int INVALID_SUBJECT_ID = -1000; 
+    public static final String INVALID_SUBJECT_ID = "----"; 
 
     /* variables */ 
     private ExperimentGui gui; 
@@ -51,13 +52,14 @@
 
     /* methods */ 
 
-    public int getSubjectID() {
-        int subjID;
-        try {
-            subjID = Integer.parseInt(subjectIDField.getText());
-        } catch (NumberFormatException e) {
+    public String getSubjectID() {
+	String subjID = subjectIDField.getText();
+	Pattern nonAlphaNum = Pattern.compile("[^a-zA-Z0-9]");
+	
+	if (nonAlphaNum.matcher(subjID).find()) {
             subjID = INVALID_SUBJECT_ID; 
         }
+
         return subjID; 
     }
     
Binary file MelodyResults.class has changed
--- a/MelodyResults.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/MelodyResults.java	Fri Nov 16 10:17:19 2012 +0000
@@ -16,11 +16,11 @@
     private ArrayList probes, responses, responseTimes, questions, answers, 
         onsets, iois, durations, pitches; 
     private String composition; 
-    private int subjectID; 
+    private String subjectID; 
 
     /* accessors */ 
-    public int getSubjectID() { return subjectID; }
-    public void setSubjectID(int id) { subjectID = id; } 
+    public String getSubjectID() { return subjectID; }
+    public void setSubjectID(String id) { subjectID = id; } 
 
     /* constructor */ 
     public MelodyResults (String midifile, ArrayList pr, ArrayList o, 
Binary file SubjectDataPanel.class has changed
--- a/SubjectDataPanel.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/SubjectDataPanel.java	Fri Nov 16 10:17:19 2012 +0000
@@ -203,7 +203,7 @@
 
     public void storeData() { 
 	ArrayList subjectData = new ArrayList();
-	String[] id = {"ID", Integer.toString(results.getSubjectID())}; 
+	String[] id = {"ID", results.getSubjectID()}; 
 	subjectData.add(id);        
 	String[] age = {"Age",ageField.getText()}; 
 	subjectData.add(age);
Binary file SubjectResults.class has changed
--- a/SubjectResults.java	Wed Nov 14 21:53:01 2012 +0000
+++ b/SubjectResults.java	Fri Nov 16 10:17:19 2012 +0000
@@ -13,17 +13,17 @@
 public class SubjectResults { 
 
     /* variables */ 
-    private int subjectID; 
+    private String subjectID; 
     private File outputFile, subjectDataFile; 
     private ArrayList results, subjectData; 
     private Experiment exp; 
     
     /* accessors */ 
-    public int getSubjectID() { return subjectID; }
-    public void setSubjectID(int id) { subjectID = id; } 
+    public String getSubjectID() { return subjectID; }
+    public void setSubjectID(String id) { subjectID = id; } 
     public void setSubjectData (ArrayList sd) { subjectData = sd; } 
-    public void setOutputFile (int id) {
-	outputFile = new File(exp.RESULTS_DIRECTORY + Integer.toString(id) + 
+    public void setOutputFile (String id) {
+	outputFile = new File(exp.RESULTS_DIRECTORY + id + 
                               exp.RESULTS_EXTENSION); 
     }