view SubjectResults.java @ 52:76e99859bdb4 tip

Add class files for previous changes.
author Marcus Pearce <marcus.pearce@eecs.qmul.ac.uk>
date Wed, 25 Feb 2015 10:11:04 +0000
parents 351b0c8b34ac
children
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 String subjectID; 
    private File outputFile, subjectDataFile; 
    private ArrayList results, subjectData; 
    private Experiment exp; 
    
    /* accessors */ 
    public String getSubjectID() { return subjectID; }
    public void setSubjectID(String id) { subjectID = id; } 
    public void setSubjectData (ArrayList sd) { subjectData = sd; }
    public void setSubjectDataFile(String id){
        subjectDataFile = new File(exp.RESULTS_DIRECTORY + File.separator + id + "_q" + exp.RESULTS_EXTENSION);
    }
    public void setOutputFile (String id) {
        outputFile = new File(exp.RESULTS_DIRECTORY + 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: " + subjectDataFile.getPath());
            e.printStackTrace();
            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;
        }
    }
}