view SubjectResults.java @ 32:01926bcd6016

Add debug command line option
author Jeremy Gow <jeremy.gow@gmail.com>
date Tue, 13 Nov 2012 18:00:31 +0000
parents 284c23df4652
children 0e030f32a6e2
line wrap: on
line source
/*=============================================================================
 * File:       SubjectResults.java
 * Author:     Marcus Pearce <m.pearce@gold.ac.uk>
 * Created:    <2007-12-12 10:44:12 marcusp>
 * Time-stamp: <2011-11-10 19:13:32 marcusp>
 *=============================================================================
 */

import java.util.ArrayList; 
import java.util.Iterator;
import java.io.*; 

public class SubjectResults { 

    /* variables */ 
    private int 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 void setSubjectData (ArrayList sd) { subjectData = sd; } 
    public void setOutputFile (int id) {
	outputFile = new File(exp.RESULTS_DIRECTORY + Integer.toString(id) + 
                              exp.RESULTS_EXTENSION); 
    }

    /* constructor */ 
    public SubjectResults(Experiment e) { 
        exp = e; 
        subjectDataFile = new File(exp.SUBJECT_RESULTS_FILE); 
        results = new ArrayList(); 
        subjectData = new ArrayList(); 
    }

    /* methods */ 
    public void addResult(MelodyResults mr) { 
        results.add(mr); 
    }

    public void writeResults() { 
        Iterator ri = results.iterator(); 
        boolean header = true;
        boolean append = false;
        while (ri.hasNext()) { 
            MelodyResults mResult = (MelodyResults)ri.next(); 
            mResult.writeResults(outputFile, header, append); 
            if (header) {
                header = false; 
                append = true;
            }
        }
    }

    public void writeSubjectData () {
        Writer writer = null;
        try {
            writer = new FileWriter (subjectDataFile, true);
        } catch (IOException e) {
            System.out.println("Could not write file: " + outputFile.getPath());
            return;
        }
        
        try {
            Iterator sji = subjectData.iterator(); 
            while(sji.hasNext()) { 
                String[] data = (String[])sji.next(); 
                writer.write(data[1] + ", ");
            }
            writer.write("\n"); 
            writer.close(); 
            
        } catch (IOException e) {
            System.out.println (e.getMessage());
            return;
        }
    }
}